我有一个带有两个textview的CustomAdapter。我需要获取每个的值/字符串。
我可以通过这样做抓住第一个:
List<String> dataList;
List<String> catList;
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long id) {
firstTextView = dataList.get(arg2); // This grabs TextView #1
secondTextView = catList. ???
// later on
adapter = new SearchAdapter(SearchableActivity.this, dataList, catList);
setListAdapter(adapter);
我如何获得第二个值?我显然无法创建一个arg3
有什么想法吗?
编辑:或者这对于ArrayAdapter是不可行的,我需要创建一些更自定义的东西,例如BaseAdapter?
答案 0 :(得分:1)
使用onItemClick
方法的第二个参数:
TextView first = (TextView) arg1.findViewById(R.id.first_textview);
String s1 = first.getText().toString();
TextView second = (TextView) arg1.findViewById(R.id.second_textview);
String s2 = second.getText().toString();
也许最好只从适配器返回一个包含两个字符串的特殊对象,如:
class DataStructure {
String s1, s2
}
并从此适配器返回。