2012-01-20 3 views
1

У меня есть представление списка, которое создается с помощью простого адаптера, каждая строка определяется макетом, содержащим TableRow и несколько TextView.Android Listview simpleadapter onClick, как найти, какой вид щелкнул?

Что мне делать, чтобы узнать, на что нажал TextView (в макете)?

Я могу получить строку listview (position), если я использую OnItemClickListener в Listview, однако мне не сообщают, на какой объект TextView на этой строке был нажат.

Я хотел бы принимать различные действия в зависимости от которых TextView пользователь щелкните в ListView

listview 

----------------------- 
TextView1 : TextView2 |  <--Row1 
----------------------- 
TextView1 : TextView2 |  <--Row2 
----------------------- 
TextView1 | TextView2 |  <--Row3 
----------------------- 

Я хотел бы быть в состоянии сказать, что строка 2 в TextView2 был нажать на кнопку.

Надеюсь, я достаточно хорошо объясняю себя.

Спасибо Вам

ответ

1

Если щелчок обрабатывается с помощью onItemClick, то вы можете не знать, от этого, который View в течение этого View была нажата. OnItemClickListener просто обрабатывает щелчок по элементу списка. То, что вы можете попробовать, это использовать пользовательский adapter, в котором вы захватите все виды в строке в getView() и установите onClickListeners на них. Или вы можете определить onClickListeners непосредственно в своем классе View, если это возможно.

4

вы можете использовать ниже код в ваш список деятельности

setListAdapter(new ArrayAdapter<String>(this, R.layout.your name, String Name)); 

    ListView lv = getListView(); 
    lv.setTextFilterEnabled(true); 



    lv.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, 
     int position, long id) { 

     // When clicked, show a toast with the TextView text 
     Toast.makeText(getApplicationContext(), ((TextView) view).getText(), 
      Toast.LENGTH_SHORT).show(); 

    } 
    }); 
} 
0

вы можете обрабатывать щелчок иной точки зрения это находится в Adapter.The адаптер должен быть настроен

+0

Можете ли вы быть более конкретным, каким образом адаптер необходимости быть настроенным или, возможно, указать на пример. благодаря –

Смежные вопросы