首页 > 解决方案 > 单击可扩展列表视图中的子项后如何打开新活动

问题描述

我正在使用可扩展列表视图来打开标题然后是副标题。但是,当我单击副标题时,它应该会打开新活动。

请在这里帮助我,而不是说点击了 childitem 的 toast。

private OnChildClickListener myListItemClicked =  new OnChildClickListener() {

    public boolean onChildClick(ExpandableListView parent, View v,
                                int groupPosition, int childPosition, long id) {

        //get the group header
        HeaderInfo headerInfo = SectionList.get(groupPosition);
        //get the child info
        DetailInfo detailInfo =  headerInfo.getProductList().get(childPosition);
        //display it or do something with it
        Toast.makeText(getBaseContext(), "Clicked on Detail " + headerInfo.getName()
                + "/" + detailInfo.getName(), Toast.LENGTH_LONG).show();
        return false;
    }
};

标签: androidexpandablelistview

解决方案


谢谢@Angus Tay;我从你的回复中得到了想法。我找到了如下给出的答案,它对我有用......

switch(groupPosition) {
                case 0:
                    switch (childPosition) {
                        case 0:
                            Intent c1= new Intent(MainActivity.this,YourNewActivity0.class);
                            startActivity(c1);
                            break;
                        case 1:
                            Intent d2= new Intent(MainActivity.this,YourNewActivity1.class);
                            startActivity(d2);
                            break;
                        case 2:
                            Intent d3= new Intent(MainActivity.this,YourNewActivity2.class);
                            startActivity(d3);
                            break;


                    }
                    break;
                case 1:
                    switch (childPosition) {
                        case 0:
                            Intent d1= new Intent(MainActivity.this,YourNewActivity0.class);
                            startActivity(d1);
                            break;
                        case 1:
                            Intent d2= new Intent(MainActivity.this,YourNewActivity1.class);
                            startActivity(d2);
                            break;


                    }
                    break;
                case 2:
                    switch (childPosition) {
                        case 0:
                            Intent a1= new Intent(MainActivity.this,YourNewActivity0.class);
                            startActivity(a1);
                            break;
                        case 1:
                            Intent a2= new Intent(MainActivity.this,YourNewActivity1.class);
                            startActivity(a2);
                            break;

                    }
            }
            return false;
        }
    };

推荐阅读