В приложениях с таргетингом на приложения для Android от 11 до 18 я динамически заполнял ListView, используя массив строк, и добавлял слушатель к каждой строке. Обычно текст охватывает примерно 50% строки. Проблема в том, что если я нажимаю на фактический текст, действие onItemClick запускается, но если я нажимаю на пустую часть строки, это не так.onItemClick срабатывает только по тексту не во всей строке ListView
Мой вопрос: как я могу добавить слушателя ко всей области/виду каждой строки?
public class MainActivity extends ActionBarActivity {
protected void onCreate(Bundle savedInstanceState) {
...
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.activity_list_item, my_array);
ListView listview = (ListView) findViewById(R.id.listView1);
listview.setAdapter(adapter);
// add listener
listview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Log.d(TAG, "position=" + position);
}
});
activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android1="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ListView
android:id="@+id/listView1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight=".80"
>
</ListView>
activity_list_item.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/my_textview"
android:textSize="35sp"
/>
отредактируйте ваш вопрос и опубликуйте код для этого файла: 'R.layout.activity_list_item' – FoamyGuy
Готово, я думаю, мне нужно установить android: layout_height =" match_parent ". – Javide
yep you sure do =) – FoamyGuy