2

В приложениях с таргетингом на приложения для 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" 
/> 
+0

отредактируйте ваш вопрос и опубликуйте код для этого файла: 'R.layout.activity_list_item' – FoamyGuy

+0

Готово, я думаю, мне нужно установить android: layout_height =" match_parent ". – Javide

+0

yep you sure do =) – FoamyGuy

ответ

6

Установите layout_width из TextView в activity_list_item к match_parent.

+1

Решил, как вы указали, но мне пришлось установить «layout_width» ListView в «match_parent». – Javide