-1

我有一个带有两个文本视图的 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?

4

1 回答 1

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
}

并从此适配器返回它。

于 2012-07-19T04:30:57.317 回答