2011-05-19 56 views
2

我正在使用自定義的ListView,它在每一行都有幾個TextView對象。在onListItemClick中,我想要得到被點擊的實際TextView,但我只是獲取包含兩個TextView的LinearLayout視圖。onListItemClick在自定義ListView中

class CustomList extends ListActivity { 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.custom_list_view); 
    ArrayAdapter<String> aa = new ArrayAdapter<String>(this, R.layout.custom_list_item, R.id.label, data); 
    setListAdapter(aa); 
    } 

    public void onListItemClick(ListView lv, View v, int index, long id){ 
    // I would like to access the TextView that was clicked here 
    // v = LinearLayout, not the TextView that was clicked 
    } 
} 

下面是RES/custom_list_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 
<TextView 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:id="@+id/label" 
     android:textSize="30sp"> 
</TextView> 
<TextView 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:id="@+id/delete_text" 
     android:textSize="30sp" 
     android:text="X"> 
</TextView> 
</LinearLayout> 

任何幫助,將不勝感激!

回答

2

您必須爲您的TextView項目定義一個onClickListener。現在,您的點擊偵聽器僅適用於您的CustomList,而不適用於您的TextView項目。

+0

謝謝。事實證明,我需要繼承'ArrayAdapter'並覆蓋'getView'以將'onClickListener'添加到'TextView'項目。 – joey 2011-05-20 17:48:24