0

私はExpandableListViewAndroidで作業しています。子供をクリックして、さまざまなアクティビティを呼び出す必要があります。それぞれの子供は私を新しい活動に向かわせなければなりません。どうすればいいのか教えてください。

私のコードは次のようなものです。

list.setOnChildClickListener(new OnChildClickListener() {
    public boolean onChildClick(ExpandableListView parent, View v,
        int groupPosition, int childPosition, long id) {
        // TODO Auto-generated method stub
        ExpandableListAdapter adap = parent.getExpandableListAdapter();
        int gp = (int) adap.getGroupId(groupPosition);
        int cp = (int) adap.getChildId(groupPosition, childPosition);
        if (gp == 0) {
            switch (cp) {
            case 0:
                Intent intent = new Intent(getApplicationContext(),
                    Test11.class);
                    break;
                case 1:
                Intent intent = new Intent(getApplicationContext(),
                            Test12.class);
                }
            } else if (gp == 1) {
                switch (cp) {
                case 0:
                Intent intent = new Intent(getApplicationContext(),
                            Test21.class);
                    break;
                case 1:
                Intent intent = new Intent(getApplicationContext(),
                            Test22.class);
                    break;
                }
            }

            return true;
        }

    });
4

1 に答える 1

0

たぶん私はあなたがstartActivity()を逃していると信じています、

list.setOnChildClickListener(new OnChildClickListener() {
    public boolean onChildClick(ExpandableListView parent, View v,
        int groupPosition, int childPosition, long id) {
        // TODO Auto-generated method stub
        ExpandableListAdapter adap = parent.getExpandableListAdapter();
        int gp = (int) adap.getGroupId(groupPosition);
        int cp = (int) adap.getChildId(groupPosition, childPosition);
        if (gp == 0) {
            switch (cp) {
            case 0:
                Intent intent = new Intent(getApplicationContext(),
                    Test11.class);
                 startActivity(intent);
                    break;
                case 1:
                Intent intent = new Intent(getApplicationContext(),
                            Test12.class);
                startActivity(intent);
                }
            } else if (gp == 1) {
                switch (cp) {
                case 0:
                Intent intent = new Intent(getApplicationContext(),
                            Test21.class);
               startActivity(intent);
                    break;
                case 1:
                Intent intent = new Intent(getApplicationContext(),
                            Test22.class);
               startActivity(intent);
                    break;
                }
            }

            return true;
        }

    });
于 2012-05-22T05:13:48.717 に答える