我制作了所有文件夹和文件的列表视图。现在我希望我的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.
}
}