请参阅图片以更好地理解问题。
我有一个带有ExpandableListView和几个按钮的片段。
ExpandableListView - >将ListView作为每个子元素 - > ListView中的每一行都是ImageView,TextView和一个复选框的组合。 ExpandableListView由CustomAdapter填充(它是Fragment中的一个单独的java文件)
问题是 - 我如何从按钮中找出ExpandableListView的哪个Child。
欢迎任何帮助或指示!!提前谢谢。
答案 0 :(得分:0)
创建一个监听器回调接口,如:
public interface ListenerChildSelected
{
public void onChildSelected(int childNum);
}
然后,让你的Fragment实现这个监听器:
public class FragmentTest implements ListenerChildSelected
然后,当您实例化自定义适配器时,传入侦听器:
//kv 3rd parameter would be listener
CustomBaseAdapter customBaseAdapter = new CustomBaseAdapter(this, items, this);
然后,在CustomBaseAdapter的构造函数中,将成员字段设置为侦听器:
public CustomBaseAdapter(Context context, ArrayList<Item> items, ListenerChildSelected listenerChildSelected)
{
mListenerChildSelected = listenerChildSelected;
...
}
然后,每次检查项目时,请致电:
mListenerChildSelected.onChildSelected(rowNum);
答案 1 :(得分:0)
获取ExpandableListView
中的onCreateView()
并存储对其的引用。
在按钮的匿名onClick()
处理程序中,在步骤1中存储的引用上调用getSelectedPosition()
。