我目前正在为 Expandablelist 中的子项使用自定义布局,其中包括 2 个不同的文本视图和一个图像视图。此外,它每次都会有 1 个孩子。我能够在适配器中获取 clicklistener,但无法在活动中获取它。
我也尝试在 onChildClick() 方法中获取单击侦听器事件,但它不起作用。
我在不同的活动中使用这个适配器,所以我想为活动本身中的一个文本视图设置点击监听器。
请有任何建议。
我目前正在为 Expandablelist 中的子项使用自定义布局,其中包括 2 个不同的文本视图和一个图像视图。此外,它每次都会有 1 个孩子。我能够在适配器中获取 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();
}
}
您不能将侦听器设置为View
from Activity
(如果我了解您要做什么)。一种方法是:
boolean
您在实例化适配器时设置的值(这将告诉您适配器是否属于应该具有侦听器的Activity
位置(例如)。如果该值是,那么您将确保不在 ) 上设置一个监听器。TextView
true
false
TextView
TextView
(仅当先前的值为 时true
,对于其他活动,您将简单地忽略这部分) 。getChildView
onClick
视图的方法中OnCLickListener
使用Context
您在自定义适配器的构造函数中传递的。将其投射到所需的活动并根据需要使用它。一种更优雅的方法是让所需的Activity
实现自定义接口(在单击时通知您TextView
)。Activity
然后在适配器中创建一个具有该接口类型的字段,您将在实例化侦听器时将其设置为指向您的。单击时TextView
调用上面该字段的方法并通知Activity
发生了某些事情并且它应该做一些事情。