.txtファイルのみのファイルチューザを作成し、その内容をStringで表すコードを記述しています。問題は、ファイルを選択しても何も起こらないことです(ログには結果コードは-1、要求コードは0)。誰でも助けてくれますか?ここで.txtファイルのための私のチューは、次のとおりです。ここでandroidの.txtファイルから文字列を取得する方法
public void onUploadClicked(View view) {
Intent intent = new Intent();
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("text/plain");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, getText(R.string.select_file)), REQUEST_CODE);
}
は私OnActivityResult方法です:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
if (data == null) {
return;
} else {
Uri uri = data.getData();
uploadedFile = new File(uri.getPath());
try {
readFile();
} catch (IOException e) {
e.printStackTrace();
}
}
} else {
return;
}
}
そして、ここでは、文字列に.txtファイルを読み込むための私の方法です:
private void readFile() throws IOException {
uploadedString = new StringBuilder();
BufferedReader reader = new BufferedReader(new FileReader(uploadedFile));
String line;
while ((line = reader.readLine()) != null) {
uploadedString.append(line);
uploadedString.append('\n');
}
Log.i("Uploaded successfully: ", uploadedString.toString());
reader.close();
}
'のgetText(R.string.select_file)'を何ですか? –
文字列リソースへの参照、つまり「テキストファイルの選択」。 – fregomene
ああ、それは 'getString'ではなく、' getString'だと思った。だから、結果コードをどこに記録しているのだろうか? (おそらくリクエストコードもチェックしてください) –