0

带有我想要更改的按钮的主要活动。它应该导入用户从其他活动中放入 EditText 的内容:

@Override
protected void onResume() {
    super.onResume();

    class1.setText(this.getButtonText());
}

public String getButtonText()
{
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    String buttonText = prefs.getString("ButtonText", "Default Button Test");
    return buttonText;
}

带有编辑文本的 Activity 和一个将用户带回主页的按钮。我尝试使用共享首选项,但不知道该怎么做?:

 Button class1;


 @Override
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.editclass1); 

        SettingButtons();
        class1.setOnClickListener(this);

 }


private void SettingButtons() {
    // TODO Auto-generated method stub
    class1 = (Button) findViewById(R.id.edittoclass1);
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch(v.getId()){
    case R.id.edittoclass1:
        startActivity(new Intent("com.clayton.calendar.TOCLASS"));
    break;

    }
}






protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    Editor editor = prefs.edit();
    editor.putString("ButtonText",  // This is not working
            ((TextView)findViewById(R.id.edittoclass1)).getText().toString());
    editor.commit();
    }

}

4

1 回答 1

0

创建一个包含 EditText 的新活动。当用户长按源活动中的按钮时,将他们带到这个新活动。在新活动的 onPause 中,将 EditText 的文本保存到共享首选项中的值。然后,在源活动的 onResume 中,从共享首选项中获取值并将按钮文本值设置为此值。

这是编辑按钮文本活动的 onPause 所需的一些代码示例:

@Override
protected void onPause() {
    super.onPause();

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    Editor editor = prefs.edit();
    editor.putString("ButtonText", ((TextView)findViewById(R.id.buttonText)).getText().toString());
    editor.commit();
}

这是您在源/原始活动中需要的代码示例:

@Override
protected void onResume() {
    super.onResume();

    button.setText(this.getButtonText()); 
}


public String getButtonText()
{
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    String buttonText = prefs.getString("ButtonText", "Default button text");
    return buttonText;
}
于 2012-04-15T17:53:56.630 回答