如何在android中过滤文件夹?

时间:2015-03-07 19:09:44

标签: java android file listview filefilter

我制作了所有文件夹和文件的列表视图。现在我希望我的listview只显示包含至少一个.mp3的文件夹。当用户进入文件夹时,只会显示.mp3文件。

这是我的完整代码:它显示了所有类型的文件。

private String path;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_file_list);

        path = "/";
        if (getIntent().hasExtra("path")) {
            path = getIntent().getStringExtra("path");
        }
        List values = new ArrayList();
        File dir = new File(path);
        String[] list = dir.list();
        if (list != null) {
            for (String file : list) {
                if (!file.startsWith(".")) {
                    values.add(file);
                }
            }
        }
        Collections.sort(values);
        ArrayAdapter adapter = new ArrayAdapter(this,
                android.R.layout.simple_list_item_2, android.R.id.text1, values);
        setListAdapter(adapter);
    }
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        String filename = (String) getListAdapter().getItem(position);
        if (path.endsWith(File.separator)) {
            filename = path + filename;
        } else {
            filename = path + File.separator + filename;
        }
        if (new File(filename).isDirectory()) {
            Intent intent = new Intent(this, FileList.class);
            intent.putExtra("path", filename);
            startActivity(intent);
        } else {
            // I want to execute my mp3.
        }
    }

0 个答案:

没有答案