在Custom ArrayAdapter中获取两个TextView的值

时间:2012-07-19 04:12:10

标签: android android-arrayadapter

我有一个带有两个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?

1 个答案:

答案 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
}

并从此适配器返回。