当用户想要在MultiAutoCompleteTextView中粘贴文本时,我想覆盖它。
意味着他复制的东西必须粘贴在我的MultiAutoCompleteTextView中,因为“Java就是火箭”。
我可以从previous question here实现,但我不知道如何将课程MonitoringEditText
挂钩到我的MultiAutoCompleteTextView
。
我可以实现它还是不可能实现它。
答案 0 :(得分:0)
您可以使用您提供的链接中的代码中提供的相同概念来执行此操作。扩展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;
}
}
然后将布局文件中的MultiAutoCompleteTextView更改为whatever.your.full.package.is.MonitoringMultiAutoCompleteTextView。
之后,任何粘贴到MultiAutoCompleteTextView的尝试都会导致文本被更改为" Java是火箭"