监听阵列适配器onClick

时间:2014-05-02 10:30:18

标签: android android-arrayadapter onclicklistener autocompletetextview

我有一个MultiAutoCompleteTextView,当你点击我自动完成单词列表中的一个项目时,它正在插入我想要的单词,但是,当我点击我要插入的单词时,我想将光标移动到与edittext文本末尾不同的位置。如何为我的适配器设置监听器?我的代码如下:

    setContentView(R.layout.activity_main);
    String[] suggestions = getResources().getStringArray(R.array.list_of_suggestions);
    ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,suggestions);
    MultiAutoCompleteTextView textView = (MultiAutoCompleteTextView)findViewById(R.id.code_text);
    textView.addTextChangedListener(mTextEditorWatcher);
    textView.setAdapter(adapter);
    textView.setTokenizer(new SColonTokenizer());

我无法在我的文本更改的侦听器中设置它,因为每次用户输入一个字符时都会调用它。我如何在我的阵列适配器上监听onClick?我知道可以使用ListView执行此操作,但我的建议由适配器处理,而不是使用listView来执行此操作。

单击后,我想将光标移动到括号内,我知道如何使用

执行此操作
textView.setSelection(textView.getText().length());

我不确定如何在单击数组适配器项后调用它 screen shot

1 个答案:

答案 0 :(得分:2)

您可以使用OnItemClickListener之类的

textView.setOnItemClickListener(new OnItemClickListener()
{

     @Override
     public void onItemClick(AdapterView<?> parent, View view, int position, long id)           
     {
      textView.setSelection(textView.getText().length());
     }
});