1

私は ListView を持っています:
A
B
C
D

最初の項目から項目が選択されると、2 番目の ListView を表示しようとしています。私は次のことを試しました:
A b1
B b2
C b3
D

機能していますが、見た目が好きではありませんでした。残りを下に移動して、選択した項目の下に 2 番目の ListView (b1-b2-b3) が表示されるように、リストを実装するにはどうすればよいですか?
A
B
b1
b2
b3
C
D

また、別の質問があります。選択したアイテムに応じて、新しい文字列配列を導入するにはどうすればよいですか。現在、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;

            }
        }
    });
4

3 に答える 3

2

私はそれが可能だとは思わない (ほぼ同じ問題があった)、代わりにExpandalbeListViewを使用することをお勧めします。
これにより、実装しようとしているすべての (またはほぼ同様の) 機能が提供されるはずです。

于 2013-01-15T15:25:31.417 に答える
2

たぶん、ExpendableListViewを試してみてください。これらのパターンのようになります。

それが役に立てば幸い!

于 2013-01-15T15:26:01.757 に答える
1

最初の質問: あなたが欲しいのは ExpandableListView だと思います...このチュートリアルを見てください:

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

于 2013-01-15T15:25:35.017 に答える