如何在android中保留更改的按钮文本?

时间:2015-07-15 03:39:16

标签: android

在我的项目中,我有一个编辑文本和一个按钮。 当项目加载并按下按钮时, 按钮的文本更改为编辑文本的值。 但是当我按下后退按钮时,按钮文本的更改不会持续。

我已经包含了可以更好地描述我的问题的快照。

我基本上希望按钮文本更改保持不变。

请帮忙。

3 个答案:

答案 0 :(得分:1)

文本在重新打开应用时不会显示,因为它是临时存储的,当您关闭应用时,它会被销毁。要保留文本,您可以将其存储在共享首选项或文件中,并在应用程序启动时从该源加载按钮的文本,如果源不存在(第一次打开应用程序时),则将默认文本放在按钮上。

答案 1 :(得分:1)

在您的活动onCreate()方法中,您可以添加以下代码:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String btnText = preferences.getString("btnText", "");
if(!btnText.equalsIgnoreCase(""))
{
    yourButton.setText(btnText);
}

yourButton.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
                  SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
                  SharedPreferences.Editor editor = preferences.edit();
                  editor.putString("btnText",yourTextEdit.getText().toString());
                  editor.apply();

                  ....your code
          }
       });

在布局xml文件中,设置按钮默认文本。 android:text="@string/yourtext"

答案 2 :(得分:0)

从编辑文本获取文本后第一次按此按钮时,请使用以下代码保存要在共享首选项中按钮上设置的编辑文本文本: 在按钮点击方法:

EditText et = (EditText) findViewById(....);
String text = et.getTex().toString();

然后你把它设置在按钮上,所以..

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
 editor.putString("buttonText", text);
 editor.commit();

然后当您在onCreate方法中重新启动应用程序时,请使用以下代码:

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String value= prefs.getString("buttonText", ""); 
button.setText(value); //whatever you button is