当用户想在MultiAutoCompleteTextView中粘贴文本时,我想要覆盖它。
这意味着无论他复制什么,它都必须粘贴在我的MultiAutoCompleteTextView中,就像"Java是火箭“一样。
我可以通过previous question here实现它,但我不知道如何将类MonitoringEditText与我的MultiAutoCompleteTextView挂钩。
我能做到吗?否则是不可能的。
发布于 2015-12-11 19:31:43
您可以使用代码中提供的与您提供的链接相同的概念来完成此操作。扩展MultiAutoCompleteTextView并重写onTextContextMenuItem方法。
与…有关的东西:
public class MonitoringMultiAutoCompleteTextView extends MultiAutoCompleteTextView {
public MonitoringMultiAutoCompleteTextView(Context context) {
super(context);
}
public MonitoringMultiAutoCompleteTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MonitoringMultiAutoCompleteTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
//based on http://stackoverflow.com/a/14981376/1566836
@Override
public boolean onTextContextMenuItem(int id) {
// Do your thing:
boolean consumed = super.onTextContextMenuItem(id);
// React:
if (android.R.id.paste == id) {
setText("Java is rocket");
}
return consumed;
}
}然后将布局文件中的whatever.your.full.package.is.MonitoringMultiAutoCompleteTextView.更改为MultiAutoCompleteTextView
在此之后,任何粘贴到MultiAutoCompleteTextView中的尝试都会导致文本更改为"Java火箭“。
https://stackoverflow.com/questions/34230711
复制相似问题