带有按钮的主要活动我想要更改。它应该导入用户从其他活动中放入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;
}
具有编辑文本的活动和用于将用户带回主页面的按钮。我尝试使用共享偏好但不知道该怎么做?:
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();
}
}
答案 0 :(得分: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;
}