让用户在Android上输入按钮的名称

时间:2012-04-15 17:48:06

标签: java android xml

带有按钮的主要活动我想要更改。它应该导入用户从其他活动中放入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();
    }

}

1 个答案:

答案 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;
}