テキストファイルから読み込んだデータをアプリケーションの別のクラスに渡す際に問題があります。ファイルから読み込むことはできますが、バンドルを使う必要があると思いますが、どうやってそれを行うのかは分かりません。 2番目のクラスでテキストファイルのデータを処理して、それを最初のクラスに表示したいと思います。Android:データをファイルから複数のクラスに読み込むことができません
編集:私はインテントを使用してファイルから文字列を渡す方法を理解しました。私はまだいくつかのバグを取り除くことに取り組んでいます。
第2編集:これを行うためのより効率的な方法があります。私が動作させる唯一の方法は、MainActivityの最初のボタンにstartActivity(intent)を使用させ、secondActivityがファイルから読み取った文字列をバンドルできるようにすることです。
MainActivity.java:
public class MainActivity extends Activity {
Button btn;
Button bReadFile;
TextView tvRead;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.btnNext);
bReadFile = (Button) findViewById(R.id.btnRead);
tvRead = (TextView) findViewById(R.id.tvMain);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//trying to find a way to remove this button
Intent intent = new Intent(MainActivity.this, econdActivity.class);
startActivity(intent);
}
});
bReadFile.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String value = getIntent().getExtras().getString("key");
tvRead.setText(value);
}
});
}
}
secondActivity.java:
public class secondActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent mIntent = new Intent(secondActivity.this, MainActivity.class);
mIntent.putExtra("key", readDataFile());
startActivity(mIntent);
}
public String readDataFile() {
String strData = null;
InputStream is = null;
try {
is = getResources().openRawResource(R.raw.data_text);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
strData = br.readLine();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
return strData;
}
}
奇妙なことをやっています。 mainactivityからsecondactivityと呼んでいます。そして、2番目にあなたは再びoncreate()でmainactivtyを開始しています。そして、このsecondactivityを使用しています。その主導権そのものにreadDataFile()メソッドを持たせることができます。 あなたの実際の必要条件を何かしようとしているのですか? – Ishu
本当にやりたいことは、secondActivityハンドルでテキストファイルを読むことです。 MainActivityでファイル入力を処理することを提案したときに設定しましたが、他のクラスに移動したかったので、さらに多くのコンテンツを追加しました。 –
あなたの目的は何ですか? – Ishu