Конкретный текстовый вид из списка с помощью OnClick? - PullRequest
0 голосов
/ 11 марта 2011

Привет, у меня есть вопрос. Хотите знать, как получить определенные значения из метода OnItemClick. Я могу получить позицию, но если у меня есть более 1 текстового представления в этой позиции, возможно ли получить первое текстовое представление?

Вот мой код

ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
    HashMap<String, String> map = new HashMap<String, String>();

    for(int i=0; i<poi.length; i++){

    map = new HashMap<String, String>();
    map.put("first", poi[i][0]);
    map.put("second",poi[i][1]);
    mylist.add(map);

}

    SimpleAdapter mSchedule = new SimpleAdapter(this, mylist, R.layout.row,
                new String[] {"first", "second"}, new int[] {R.id.FIRST, R.id.SECOND});
    list.setAdapter(mSchedule);
list.setTextFilterEnabled(true);
    list.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> a, View v, int position, long id) {
            Log.i("owen", Integer.toString(position));

//my code to get "first" string on click
}

Спасибо

1 Ответ

1 голос
/ 11 марта 2011

Если вам известен идентификатор ресурса для нужного текстового представления, вы можете взять представление, переданное в метод onitemClick (), и найти этот дочерний элемент:

public void onItemClick(AdapterView<?> a, View v, int position, long id) {
    TextView myText = (TextView) v.findViewById(R.id.my_textview);
    Log.i("owen", myText.getText().toString());
} 

Позиция относится к позиции строки в списке AdapterView.

...