0

我有 2 个数组:
Array1: ABCDEF
Array2: A1, A2, A3, A4, B1, B2, B3 ...

列表视图1 | 列表视图2


 A     |   A1 A2 A3 A4
 B     |   B1 B2 B3
 C     |   C1 C2 C3 C4
 D     |   D1 D2
 E     |   E1 E2
 F     |   F1 F2 F3

我想首先显示一个包含 Array1 的 ListView。一旦选择了一个项目,该项目将突出显示或所有其他项目都将消失,并且一个新的 ListView 将显示在第一个 ListView 旁边,其中包含 Array2。

假设我选择了 C:

列表视图1 | 列表视图2


 A     |   C1
 B     |   C2
*C*    |   C3
 D     |   C4
 E     |      
 F     |      

我可以做第一部分,并且可以处理 onItemClick 事件,但不确定如何在第二个数组之后创建一个新的 ListView。

4

1 回答 1

0

尝试创建这样的东西。

ArrayAdapter<String> arrayAdapterOne = new ArrayAdapter<String>(this, R.layout.your_layout, listOne);
ArrayAdapter<String> arrayAdapterTwo = new ArrayAdapter<String>(this, R.layout.your_layout, listTwo); 
listViewOne.setAdapter(arrayAdapterOne);
listViewTwo.setAdapter(arrayAdapterTwo);                

listViewOne.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1,int pos, long arg3) {

    // your logic here
    //update list two as per value of list One
    arrayAdapterTwo = new ArrayAdapter<String>(this, R.layout.your_layout, listTwo); 
    arrayAdapterTwo.notifyDataSetChanged();
    // or
    // listViewTwo.setAdapter(arrayAdapterTwo);             

    }
});
于 2013-01-12T09:17:39.997 回答