Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我有一个数组,我想获得特定项的等效索引(从AutoCompleteTextView中选择)_Android_Arraylist_Autocompletetextview - Fatal编程技术网

Android 我有一个数组,我想获得特定项的等效索引(从AutoCompleteTextView中选择)

Android 我有一个数组,我想获得特定项的等效索引(从AutoCompleteTextView中选择),android,arraylist,autocompletetextview,Android,Arraylist,Autocompletetextview,这是我的主要活动 TestAdapter mdh = new TestAdapter(this); mdh.open(); ArrayList<String> songs = mdh.getAllSongs(); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_

这是我的主要活动

    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

        }
    });
TestAdapter mdh=新的TestAdapter(本);
mdh.open();
ArrayList songs=mdh.getAllSongs();
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple\u下拉菜单\u项目\u 1行,歌曲);
AutoCompleteTextView文本视图=(AutoCompleteTextView)
findviewbyd(R.id.autocomplete_歌曲);
setAdapter(适配器);
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
//TODO自动生成的方法存根
}
});
如你所见。。适配器拥有所有歌曲并向下传递到autocompletetextview 我想要的是当我在autocompletetextview上单击一个项目时..我将获取其索引号并将其存储在一个整数上..我希望它的索引来自arraylist,而不是下拉列表中的索引..请帮助我..

TestAdapter mdh=new TestAdapter(此);
 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 


    }
});
mdh.open(); ArrayList songs=mdh.getAllSongs(); ArrayAdapter=新的ArrayAdapter(此, android.R.layout.simple\u下拉菜单\u项目\u 1行,歌曲); AutoCompleteTextView文本视图=(AutoCompleteTextView) findviewbyd(R.id.autocomplete_歌曲); setAdapter(适配器); setOnItemClickListener(新的OnItemClickListener(){ @凌驾 公共链接(AdapterView arg0、视图arg1、内部arg2、, 长arg3){ //TODO自动生成的方法存根 Log.i(“GiveTag”,arg2);//它将为您提供所单击的项目的位置/索引 } });
试试这种方法

textView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int pos, long l) {
                String str = songs.get(pos);
            }
        });
textView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共虚线单击(AdapterView AdapterView,视图视图,内部位置,长l){
String str=songs.get(pos);
}
});
检查这是否有效

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);

                }
});
textView.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
String text=textView.getText().toString();
int position=songs.indexOf(文本);
}
});
公共页面单击(AdapterView arg0、视图arg1、int arg2、long arg3){
对象数据=arg0.getItemAtPosition(arg2);
int pos=java.util.Arrays.asList(歌曲).indexOf(数据);
}
});

使用
arg2
onimclick
中我已经这样做了,但是我需要数组列表中的项目索引,而不是下拉列表中的项目索引
arg2
将为您提供所单击项目的索引。此外,下拉列表中的项目数是否与arraylist中的项目数匹配?或者更好,如何获取其字符串值?否..它不匹配..我希望从arraylist中获取静态索引..pos将仅返回其在下拉列表中的当前位置..例如..如果数组中有10个项目,下拉列表将仅显示2..的索引第一项为0,第二项为1。。但是在数组上,例如它的索引是7和8。我想要的是在OnClick上检索7或8。它在歌曲数组上的索引。。请帮助我或者更好地了解如何获取它的字符串值?这是一样的。它也会在下拉列表上返回索引,而不是在真正的arraylist上。tnx虽然如此。朋友,还有其他建议吗?试试这个日志。i(“GiveTag”、_songs.indexOf(arg2);或者更好地了解如何获取它的字符串值?
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);           

}
});