我已经找到了很多方法可以做到这一点,但它们都不简单(我无法实现更复杂的方法,所以我正在寻找一个更简单的解决方案)。我想用我的目标中的所有png文件的名称填充我的ArrayAdapter,用于从应用程序中保存一些png。 这个很棒:http://www.dreamincode.net/forums/topic/190013-creating-simple-file-chooser/ 但并不容易。我相信有一种更简单的方法,我找不到它(我真的做了我的功课,并且正在寻找它很长一段时间)。我假设像File.listFiles()这样的东西可以工作,我只是不知道如何。
我的代码:
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
String[] values = new String[] ;
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
getListView().setBackgroundDrawable(getResources().getDrawable(R.drawable.diver));
}
@Override
protected void onListItemClick(ListView list, View v, int position, long id) {
list.setBackgroundDrawable(getResources().getDrawable(R.drawable.diver));
String item = (String) getListAdapter().getItem(position);
setContentView(R.layout.table);
myWebView = (WebView)findViewById(R.id.myWebView);
myWebView.setInitialScale(50);
myWebView.getSettings().setBuiltInZoomControls(true);
myWebView.loadUrl(Environment.getExternalStorageDirectory()+ File.separator + "DivePlanner" + File.separator + item);
}
我需要用目录/ sdcard / DivePlanner /中所有png文件的名称填充values []。如果有人知道任何简单的方法,那么非常感谢!!
答案 0 :(得分:2)
是的,您应该使用File.listFiles()方法从所需的文件夹中获取所有文件。当你有一个文件数组时,你应该简单地遍历它,并从每个文件中检索它的名字。
如果只需要.png文件,请检查java FileFilter类及其用法
为了您的便利,请看这里:
答案 1 :(得分:0)
您可以使用以下内容:
final File directory = new File(path);
if(!directory.exists() || !directory.isDirectory()){
//do something
}
final Collection<String> pngFilenames = new HashSet<String>();
for(final String filename : directory.list()){
if(filename.endsWith(".png")){
pngFilenames.add(filename);
}
}
final String[] values = (String[])pngFilenames.toArray(new String[pngFilenames.size()]);