0

这是我的主要活动

    TestAdapter mdh = new TestAdapter(this); 
    mdh.open(); 
    ArrayList<String> songs = mdh.getAllSongs();
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_dropdown_item_1line, songs);


    AutoCompleteTextView textView = (AutoCompleteTextView)
            findViewById(R.id.autocomplete_songs);
    textView.setAdapter(adapter);
    textView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub

        }
    });

如您所见..适配器拥有所有歌曲并传递给autocompletetextview我想要的是当我单击autocompletetextview上的一个项目时..我将获取它的索引号并将其存储在一个整数中..我想要它的索引数组列表而不是下拉列表中的索引..请帮助我...

4

4 回答 4

0

检查这是否有效

textView.setOnItemClickListener(new OnItemClickListener() {
    @Override
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                        long arg3) {
                    String text = textView.getText().toString();
                    int position = songs.indexOf(text);

                }
});
于 2013-10-21T06:43:39.637 回答
0
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

Object data = arg0.getItemAtPosition(arg2);
int pos = java.util.Arrays.asList(songs).indexOf(data);           

}
});
于 2014-03-09T01:14:01.307 回答
0
 TestAdapter mdh = new TestAdapter(this); 
mdh.open(); 
ArrayList<String> songs = mdh.getAllSongs();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_dropdown_item_1line, songs);


AutoCompleteTextView textView = (AutoCompleteTextView)
        findViewById(R.id.autocomplete_songs);
textView.setAdapter(adapter);
textView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {
        // TODO Auto-generated method stub

      Log.i("GiveTag", arg2); // it will give you what ever item clicked position /index 


    }
});
于 2013-10-21T05:36:36.607 回答
0

试试这个方法

textView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int pos, long l) {
                String str = songs.get(pos);
            }
        });
于 2013-10-21T05:36:47.347 回答