单击后如何在另一个ListView中显示ListView

时间:2013-01-15 15:19:52

标签: android android-listview android-arrayadapter

我有一个ListView:
一个

ç
D

我尝试从第一个项目中选择一个项目后显示第二个ListView。我尝试了以下几点:
A b1
B b2
C b3
D

它正在工作,但我不喜欢它的外观。如何通过移动下面的其余部分以第二个ListView(b1-b2-b3)显示在所选项目下的方式实现列表:
一个

B1
B2
B3
ç
D

另外我还有另外一个问题,如何根据所选项目引入新的String数组。目前我正在使用switch子句,但如果我碰巧需要更多数组,那将会有问题:

String[] brands = { ... };    String[] test2 = { ... };

    ArrayAdapter<String> arrayAdapterOne = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, brands);
    final ArrayAdapter<String> arrayAdapterTwo = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, test2);
    final ArrayAdapter<String> arrayAdapterThree = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, test3);
    final ArrayAdapter<String> arrayAdapterFour = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, test4);


listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
            TextView tv1 = (TextView) findViewById(R.id.textView1);
            tv1.setText(brands[position]);
            switch (position) {
            case 0:
                listView2.setAdapter(arrayAdapterTwo);
                break;
            case 1:
                listView2.setAdapter(arrayAdapterThree);
                break;
            case 2:
                listView2.setAdapter(arrayAdapterFour);
                break;
            case 3:
                listView2.setAdapter(arrayAdapterFour);
                break;

            }
        }
    });

3 个答案:

答案 0 :(得分:2)

我认为不可能(问题几乎相同),我建议改用ExpandalbeListView
这应该提供您尝试实现的所有(或几乎相似)功能

答案 1 :(得分:2)

也许您想尝试ExpendableListView。它应该看起来像these patterns

希望它有所帮助!

答案 2 :(得分:1)

第一个问题:我认为你想要的是一个ExpandableListView ......看看这个教程:

http://www.dreamincode.net/forums/topic/270612-how-to-get-started-with-expandablelistview/