Androidアクティビティクラスでユーザーが入力したデータの保存に問題があります。このメソッドを使用する必要があることを確認しましonSavedInstanceState(Bundle outState)
たが、プログラムの記述方法によってこれが困難になっています。
ユーザーがDataEntry.java
クラスにさまざまなデータを入力すると、送信した情報がに表示されDataSummary.java
ます。これは正常に機能します。
しかし、ユーザーが言うことから離れてナビゲートすると、元の送信されたデータDataSummary.java
の残りの情報を入力することは、あなたがすでに書いたものを見るDataEntry.java
ために戻った場合に失われます。DS.java
以下はのコードですDataSummary.java
。
public class DataSummary extends Activity {
ImageView resultImage;
TextView resultName;
TextView resultDescription;
TextView resultType;
TextView resultProject;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_data_summary);
//Check if there is anything in the 'bundle' and if not produce message - AVOIDS NULLPOINTEREXCEPTION when navigating to Activity
Bundle bundle = this.getIntent().getExtras();
if (bundle != null){
int image = bundle.getInt("image");
String name = bundle.getString("key");
String description = bundle.getString("key1"); //gets data from DataEntry activity
String type = bundle.getString("key2");
String project = bundle.getString("key3");
resultImage=(ImageView)findViewById(R.id.resultImage);
resultName=(TextView)findViewById(R.id.resultName); //adds the TextViews to the activity
resultType=(TextView)findViewById(R.id.resultType);
resultDescription=(TextView)findViewById(R.id.resultDesc);
resultProject=(TextView)findViewById(R.id.resultProject);
resultImage.setImageResource(image);
resultName.setText(name); // Fills the textviews with imported data
resultType.setText(type);
resultDescription.setText(description);
resultProject.setText(project);
}
else
{
Toast.makeText(DataSummary.this,"Received no data yet!", Toast.LENGTH_LONG).show();
}
}
/* MANAGES ACTIVITY LIFESTYLE */
public void onSavedInstanceState(Bundle outState){
super.onSaveInstanceState(outState);
}
onSavedInstanceState
アクティビティの作成時に受信され、ユーザーがこのアクティビティから離れた場合に保存されるインポートされたデータを取得するメソッドを拡張するにはどうすればよいですか?それが十分に説明されていることを願っていますか?
onCreateで変数を使用する方法を理解するのは難しく、別のメソッドから変数にアクセスできません(これを行う方法を知っていれば、メソッドを完成させることができると思います)。