【发布时间】:2016-08-08 13:57:05
【问题描述】:
我试图弄清楚如何从子视图中存在的按钮实现可扩展的列表视图 setOnItemClickListener。到目前为止,这是我所拥有的:
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) context
.getSystemService(context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.weekly_event_child_items, null);
}
Button mybutton = (Button) convertView.findViewById(R.id.button2);
mybutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v1) {
((ExpandableListView) parents).performItemClick(v1,positions, 0);
}
});
}
在主视图中我已经实现了:
expandableListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
System.out.println("clicked");
}
});
我期待 ((ExpandableListView) parents).performItemClick(v1,positions, 0 this 以某种方式调用 expandableListView.setOnItemClickListener 中的事件处理程序,这目前没有发生。我想从按钮进行调用click present in child view 调用可展开列表视图的项目点击监听器。
【问题讨论】:
-
你能澄清你在问什么吗?您在此处发布的代码的结果是什么?您期望的结果是什么? (根据您的要求,日志也可能会有所帮助)。
-
我期待 ((ExpandableListView) parents).performItemClick(v1,positions, 0 this 以某种方式调用expandableListView.setOnItemClickListener 没有发生。我想通过单击按钮进行调用出现在子视图中以调用可扩展列表视图 setOnItemClickListener。
-
现在会发生什么?执行时是否有异常 ((ExpandableListView) parents).performItemClick(v1,positions, 0);还是它被成功调用并且什么都不做?顺便说一句,此时“父母”是否为空?我没看到你在哪里设置这个。我认为您此时可能不想使用该变量,您可能需要一种不同的方式来检索可扩展列表。为什么不通过另一个 FindViewById 调用来获取可扩展列表?
-
另外,这是完整的代码吗?我没有看到您发布的方法返回任何内容 - 我不希望这甚至会编译。
标签: java android expandablelistview expandablelistadapter