我在保留用户在我的 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 中的变量以及我无法从其他方法访问它们(我想如果我知道如何做到这一点,我可以完成该方法)。