0

我目前有一个使用以下内容填充的微调器;

        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 的文件。因为它显示了 sdcard 上的所有内容,但我只对 .txt 感兴趣。

此外,微调器当前显示 sdcard/filename.extension 的完整路径,而理想情况下我希望它只显示文件名 - 这可能吗?

提前致谢。

4

1 回答 1

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

于 2013-04-22T16:11:24.413 回答