2011-12-22 41 views
0

基本上,我目前正在试图在屏幕上显示一些按钮,点击它们时,用户将使用EditText字段和完成按钮。一旦数据输入完成,它会返回并更改按钮文本的名称。我用这个链接帮我How to pass EditText to another activity?。我遇到的问题是有一次我点击不同的按钮并输入信息,并返回它忘记了以前的按钮数据。我有一个字符串,所以只有点击的按钮被编辑,所以我认为它不存储数据。我花了很多年尝试不同的解决方案,使它保存状态,但似乎没有任何工作。在一个活动上使用EditText来更改另一个活动上的按钮文本

我对Android非常陌生,所以我很清楚解决方案可能非常简单,而且我刚刚实现了错误。

与按钮活动的代码是这样的:

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
setContentView(R.layout.edit); 
setupViews(); 
setupListeners(); 
mIntentString = savedInstanceState != null ? 
savedInstanceState.getString("myKey"):null; 
if(mIntentString == null){ 
Bundle extras = getIntent().getExtras(); 
mIntentString = extras != null ? extras.getString("myKey") : "Choose name"; 
} 
if(ActivityController.button == "1"){ 
button1.setText(mIntentString); 
Log.e(button, "button1 being checked"); 
} 

... 

@Override 
public void onClick(View view){ 
if (view == button1) { 
Intent i = new Intent(); 
i.setClass(ActivityEdit.this, ActivityEnterInfo.class); 
startActivity(i); 
}} 

... 

public void refreshButtons() 
{ 
if(ActivityController.button == "1"){ 
mIntentString = button1.getText().toString(); 
Intent intent = new Intent(); 
intent.putExtra("returnKey",button1.getText().toString()); 
setResult(RESULT_OK,intent); 
} 

我希望这一切是有道理的,我真的打这个砖墙和需要帮助

回答

0

从我的理解,你想要的是保存你的按钮的状态,并在你回来时恢复它们。

您应该重写onStart()onPause()在你的按钮活动来保存私有成员按键数据,然后覆盖onStop()onResume()并用它来恢复你的数据。

+0

我在一个完全错误的道路上与我在做什么,因为这使我在正确的轨道上,我将信贷在这里。谢谢 :) – Seperot 2012-01-10 15:50:17

0

我对这个问题的方法是使用sharedpreferences。当您在下一个屏幕中完成任务并且想要在按钮上显示文本时,请将按钮文本保存在sharedpreferences中,请检查sharedPrefrenes中是否存在数据。 并据此显示文字。

〜Rollno1

相关问题