我目前有一个使用以下内容填充的微调器;
File sd = new File("sdcard/");
File[] sdDirList = sd.listFiles();
// String[] filenames = getApplicationContext().fileList();
List<File> list = new ArrayList<File>();
for (int i = 0; i < sdDirList.length; i++) {
// Log.d("Filename", filenames[i]);
list.add(sdDirList[i]);
}
ArrayAdapter<File> filenameAdapter = new ArrayAdapter<File>(this,
android.R.layout.simple_dropdown_item_1line, list);
spinSelected.setOnItemSelectedListener(this);
spinSelected.setAdapter(filenameAdapter);
// filename = spinSelected.toString();
}
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
filename = spinSelected.getSelectedItem().toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
但我有两件事我想对这个微调器做些什么也无法解决。第一种是仅显示扩展名为.txt的文件。因为它显示了SD卡上的所有内容,但我只对.txt。
感兴趣此外,微调器当前显示sdcard / filename.extension的完整路径,而理想情况下我只想显示文件名 - 这可能吗?
提前致谢。
答案 0 :(得分:1)
您将不得不通过添加以下内容来进一步处理您的sdDirList数组:
for(int x = 0; x < sdDirList.length; x++)
{
if(sdDirList[n].getName().endsWith(".txt"))
{
// add it to your array adapter
}
}
您可以在此处查看Java文件对象文档:http://docs.oracle.com/javase/6/docs/api/java/io/File.html