私はAndroidプロジェクトに取り組んでおり、CharSequence
配列を含むAlertDialogを表示しようとしています。クリックすると、文字列が返されるはずです。
以下は私が使用しているコードです
String fileName = "";
//Collect the files from the backup location
String filePath = Environment.getExternalStorageDirectory().getPath() + "/BoardiesPasswordManager";
File f = new File(filePath);
File[] files = f.listFiles();
final CharSequence[] fileNames = new CharSequence[files.length];
if (files.length > 0)
{
for (int i = 0; i < files.length; i++)
{
fileNames[i] = files[i].getName();
}
}
String selectedFile = "";
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Choose Backup File");
builder.setItems(fileNames, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
fileName = fileNames[item].toString();
}
});
AlertDialog alert = builder.create();
alert.show();
return fileName;
ご覧のとおり、fileNameを配列内の選択された項目に設定しようとしていますが、Eclipseはそれを型String fileName
指定する必要があると言い続けますfinal
が、明らかに、選択された文字列の値に設定できません。文字列を返すことができるように変数を設定するにはどうすればよいですか。
あなたが提供できるどんな助けにも感謝します。