assets
という名前のフォルダにs1
という名前のフォルダがあります。そこには約100のテキストファイルがあります。私はそのフォルダにいくつのテキストファイルがあるのかを数えたいと思う。アセットサブフォルダ内のファイル数をカウントする
このエラーで起動時にアプリケーションがクラッシュ: `ここ
Caused by: java.lang.NullPointerException: Attempt to get length of null array
はMainActivity
のコードです:
Integer fileCount = 0;
fileCount = Integer.valueOf(new File("./assets/s1/").listFiles().length);
for(int i=0;i<fileCount;i++) {
Button btn = new Button(this);
btn.setId(i+1);
btn.setText("button "+(i+1));
btn.setLayoutParams(lprams);
final int index = i;
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i("TAG", "The index is" + index);
}
});
dynamicview.addView(btn);
}
それを解決する方法は?あなたはこのような資産にアクセスする必要が
デバッグを試みましたか?たとえば、2行目のメソッド呼び出しを別々にして、 'new File(" .. ")'の値が何であるかを見てから、 '.listFiles()'の値などを調べます。 –
アセット内のファイルに対してFileクラスを使用することはできません。そして、使用されたパスも間違っています。アセットからファイルを読み込む方法については、Googleの方が優れています。またはリストする方法。 – greenapps