0

私はそれを行う方法をたくさん見つけましたが、どれも簡単ではありませんでした (そして、より複雑な方法を実装できなかったので、より簡単な解決策を探しています)。アプリからいくつかのpngを保存するために使用するディレクトリ内のすべてのpngファイルの名前をArrayAdapterに入力したいと思います。これは素晴らしいです: 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 ファイルの名前を値 [] に入力する必要があります。誰かがそれを行う簡単な方法を知っていれば、どうもありがとう!!

4

2 に答える 2

2

はい、 File.listFiles() メソッドを使用して、目的のフォルダーからすべてのファイルを取得する必要があります。ファイルの配列がある場合は、単純にそれを反復処理し、各ファイルからその名前を取得する必要があります。

.png ファイルのみが必要な場合は、Java FileFilter クラスとその使用方法を調べます

あなたの便宜のために、ここを見てください:

http://www.exampledepot.com/egs/java.io/GetFiles.html

于 2012-05-24T14:13:56.237 に答える
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()]);
于 2012-05-24T14:39:27.603 に答える