我目前正在使用Expandablelist中的子项的自定义布局,其中包括2个不同的文本视图和一个imageview。此外,每次都会有1个孩子。我能够在适配器中获取clicklistener但无法在活动中获取此信息。
我还尝试在onChildClick()方法中获取click侦听器事件,但它无法正常工作。
我在不同的活动中使用这个适配器,所以我希望在活动本身中有一个文本视图的点击监听器。
请提出任何建议。
答案 0 :(得分:2)
我能够完成这些工作,我在布局文件中添加了android:onClick="textClickHandler">
并在我的活动中包含了如下的监听器:
public void textClickHandler(View view){
if(view.getId() == R.id.textMore){
Toast.makeText(mContext, "More Text Clicked.", Toast.LENGTH_LONG).show();
}
}
答案 1 :(得分:1)
您无法在View
Activity
上设置监听器(如果我理解您要做的事情)。一种方法是:
boolean
值(这将告诉您适配器是否属于Activity
TextView
应该有一个监听器({1}}对于true
,例如)。如果值为false
,那么您将确保不在TextView
上设置侦听器。TextView
方法中,将侦听器设置为所需的true
(仅当前一个值为getChildView
时,对于您将简单忽略此部分的其他活动)适配器。onClick
的{{1}}方法中的OnCLickListener
。将其转换为所需的活动并根据需要使用它。更优雅的方法是让所需的Context
实现自定义界面(在单击Activity
时通知您)。然后在适配器中创建一个字段,该字段具有您在实例化侦听器时将设置为指向TextView
的接口类型。单击Activity
时,请调用上面该字段的方法,并通知TextView
发生了某些事情,并且应该做一些事情。