[英]How to get the clicklistener for textview in child for expandable list?
我目前在Expandablelist中為孩子使用自定義布局,其中包括2個不同的文本視圖和一個imageview。 而且每次都會有一個孩子。 我能夠在適配器中獲得clicklistener,但在活動中卻無法獲得。
我也嘗試過在onChildClick()方法中獲取點擊偵聽器事件,但它無法正常工作。
我在不同的活動中使用此適配器,因此我希望活動本身中的文本視圖之一具有單擊偵聽器。
有任何建議請。
我能夠做到這一點,我在布局文件中添加了android:onClick="textClickHandler">
,並在我的活動中添加了以下監聽器:
public void textClickHandler(View view){
if(view.getId() == R.id.textMore){
Toast.makeText(mContext, "More Text Clicked.", Toast.LENGTH_LONG).show();
}
}
您不能在Activity
的View
上設置偵聽器(如果我了解您要執行的操作)。 一種方法是:
boolean
值(這將告訴您適配器是否屬於Activity
,而TextView
應該具有偵聽器(例如,為true
)。如果該值為false
則您請確保不要在TextView
上設置偵聽器。 getChildView
方法中,在所需的TextView
上設置偵聽器(僅當先前值為true
,對於其他活動,您將簡單地忽略此部分)。 OnCLickListener
的onClick
方法中,使用在自定義適配器的構造函數中傳遞的Context
。 將其投射到所需的活動並根據需要使用。 一種更優雅的方法是讓所需的Activity
實現一個自定義界面(在單擊TextView
時通知您)。 然后在適配器中創建一個字段,其類型為該接口的類型,您將在實例化偵聽器時將其指向Activity
。 單擊TextView
,調用上方該字段的方法,並通知Activity
發生了某些事情,它應該做一些事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.