2013-01-15 50 views
1

我有一个ListView:
一个

Ç
d如何显示另一个ListView控件内的ListView点击后

我试图表现出第二ListView中,一旦某一项从第一选择。我试过如下:
B1类
B2
çB3
d

它的工作,但我不喜欢它的外观。如何可以实现这样的方式的列表,该第二ListView的(B1-B2-B3)所选择的项目下示出了通过移动下面的其余部分:


B1
B2
B3
ç
d

此外还有一个问题,如何可以引入依赖于所选择的项目的新字符串数组。目前我使用一个开关条款,但是这将是有问题的,如果我碰巧需要更多的数组:

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; 

      } 
     } 
    }); 

回答

2

我不认为这就是可能的(有几乎同样的问题),我会建议使用ExpandalbeListView代替。
这应该提供所有(或几乎相似的)功能,您试图实现

+0

谢谢,我正在研究 – wervdon

相关问题