如何在每个可展开项目点击后启动活动

时间:2015-08-01 09:36:27

标签: android android-activity expandablelistview

我从this tutorial创建了一个可扩展列表。现在我想为每个项目设置onClickListener,并在单击项目时启动活动! 问题在于:getChildView MyExpandableListAdapter我无法使用startActivity()方法。我该怎么办?

2 个答案:

答案 0 :(得分:0)

您可以为每个onclickchildItem设置groupItem事件,如下所示:
通过groupPositionchildPosition,您可以检测到点击了哪个项目

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;
        }
    };