2017-01-07 91 views
0

我有一個ExpandableListView的視圖,它具有以下視圖作爲其標題視圖。在ExpandableListView中按下哪個按鈕

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:weightSum="10"> 

    <TextView 
     android:id="@+id/lblListHeader" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:textSize="30sp" 
     android:background="#ffa500" 
     android:layout_weight="2"/> 

    <Button android:layout_height="match_parent" android:layout_width="match_parent" 
      android:id="@+id/b1" android:layout_weight="8" android:text="text" android:background="#ffa500" 
      android:focusable="false" android:onClick="openChildDialog" /> 

</LinearLayout> 

當按下按鈕時會調用方法openChildDialog。但是,由於基於列表標題的數量會有很多這個按鈕的實例,我怎麼知道哪個按鈕實例被按下?

編輯:這樣做的目的是,因爲每個TextViewButton,基於該按鈕被按下時,我想獲得其相應的TextView的文本。

請幫忙。提前致謝。

回答

0

我真的懷疑你需要(請讓我知道你想要確定按鈕後做什麼),但如果你真的想找出按下按鈕,你可以指定一個唯一的在您的適配器類中使用setTag(Object object)和更高版本在openChildDialog()方法中將其膨脹後,您可以在該視圖方法上使用getTag()獲取值,然後在每個按鈕上使用唯一的整數或字符串。

請確保您將值分配給按鈕,而不是整個項目的視圖。

+0

我編輯了這個問題。 –

相關問題