我从this tutorial创建了一个可扩展列表。现在我想为每个项目设置onClickListener,并在单击项目时启动活动!
问题在于:getChildView
MyExpandableListAdapter
我无法使用startActivity()
方法。我该怎么办?
答案 0 :(得分:0)
您可以为每个onclick
和childItem
设置groupItem
事件,如下所示:
通过groupPosition
和childPosition
,您可以检测到点击了哪个项目
listView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
return false;
}
});
listView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
return false;
}
});
答案 1 :(得分:0)
我用以下代码解决了我的问题:
ExpandableListView listView = (ExpandableListView) findViewById(R.id.exlistView);
MyExpandableListAdapter adapter = new MyExpandableListAdapter(MainActivity.this, MainActivity.groups)
{
@Override
public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
View v= super.getChildView(groupPosition, childPosition, isLastChild, convertView, parent);
((LinearLayout) v).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//.....
startActivity(...);
}
});
return v;
}
};