2017-10-17 17 views
-3

私はアンドロイドアプリの最近のファイルのリストを表示するlistViewを持っています。ここでは、ファイル配列 "fileList []"とその長さsizeOfFilesを持っています。文字列配列 "file_names"にファイルの名前を割り当てて、この文字列をArrayAdapterに入れてlistViewで使用するようにしています。 forループを使用して文字列に値を割り当てる方法はありますか? forループを使って試しましたが、アプリケーションが動作を停止しました。 私は複数のif文を使用しました。forループを使用した文字列配列の初期化

限り、私はあなたがそのような何かを探している理解されるよう
String file_names[]= null; 
     if (sizeOfFiles < 1) { 
      file_names = new String[]{"No recent files.\nTouch New to add files."}; 
      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.file_list, file_names); 
      listView.setAdapter(adapter); 
     } 


     else if (sizeOfFiles == 1) { 
      file_names = new String[]{filesList[sizeOfFiles - 1].getName()}; 
      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.file_list, file_names); 
      listView.setAdapter(adapter); 
     } 

     else if (sizeOfFiles == 2) { 
      file_names = new String[]{filesList[sizeOfFiles - 1].getName(), filesList[sizeOfFiles - 2].getName()}; 
      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.file_list, file_names); 
      listView.setAdapter(adapter); 
     } 
+1

コードが完全に読み取れません ":著者の目標は何ですか?ループで以前のバージョンを表示していますか? –

+0

実際に私はアンドロイドアプリの最近のファイルのリストを表示するlistViewを持っています。ここでは、ファイル配列 "fileList []"とその長さsizeOfFilesを持っています。文字列配列 "file_names"にファイルの名前を割り当てて、この文字列をArrayAdapterに入れてlistViewで使用するようにしています。 – khokarjamal69

答えて

0

:私はそれが役に立てば幸い

 String file_names[]= new String[(int)Math.max(sizeOfFiles,1)]; 
     if (sizeOfFiles < 1) { 
      file_names[0] = "No recent files.\nTouch New to add files."; 
     } else { 
      for(int i=sizeOfFiles-1;i>=0;i--){ 
       file_names[(sizeOfFiles-1)-i] = filesList[i].getName(); 
      } 
     } 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.file_list, file_names); 
     listView.setAdapter(adapter); 

+0

ありがとう!それは私が探していたものです。 – khokarjamal69

関連する問題