0

携帯電話のすべてのディレクトリの複数選択リストを表示するアクティビティを作成しました。これまで、親フォルダーのみのリストを表示することしかできませんでした。ユーザーがアイテムをクリックすると(チェックボックスではなく)、展開してそのサブフォルダー(複数選択リストも)を表示する必要があります。これは私が今まで作ってきたものです。

Parent1
Parent2
Parent3
Parent4

ユーザーがParent1を選択した場合、次のようにサブフォルダーで展開されます。

Parent1
- Sub-Folder1
- Sub-Folder2
Parent2
Parent3
Parent4

以下は今までの私のコードです:

public class DirectoryListing extends Activity {

    ListView dirlv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.directorylisting);
        try {
            ArrayList<String> dirList = new ArrayList<String>(); 
            dirList = getAllDirList();
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_multiple_choice, android.R.id.text1,
                    dirList);
            dirlv = (ListView) findViewById(R.id.lvDirList);
            dirlv.setAdapter(adapter);
            dirlv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        } catch (Exception e) {
            Toast.makeText(this, e.toString(), Toast.LENGTH_SHORT);
        }

    }

    private ArrayList<String> getAllDirList() {
        ArrayList<String> result = new ArrayList<String>();
        File home = new File("/");
        File[] files = home.listFiles();
        for (File file : files) {
            if (file.isDirectory()) {
                result.add(file.getName());
            }
        }
        return result;
    }
}
4

1 に答える 1

1

単純な ListView の代わりにExpandable Listviewを使用します。

このリンクにアクセスしてください http://about-android.blogspot.in/2010/04/steps-to-implement-expandablelistview.html

そしてこのSOの質問 Android ExpandableListView - Looking for tutorial

于 2012-07-04T13:06:31.433 に答える