2015-12-11 2 views
0

Когда пользователь хочет вставить текст в MultiAutoCompleteTextView, я хочу его перезаписать.Переписать текст события pate в MultiAutoCompleteTextView Android

Значит, что бы он ни копировал, он должен вставить в мой MultiAutoCompleteTextView, поскольку «Java - это ракета».

Я могу достичь этого от previous question here, но я не знаю, как подключить класс MonitoringEditText к моему MultiAutoCompleteTextView.

Могу ли я достичь этого или это невозможно.

ответ

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 является ракетой»

Смежные вопросы