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