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

テキストの編集と、ユーザーをメインページに戻すためのボタンを使用したアクティビティ。共有設定を使用しようとしましたが、その方法がわかりませんか?:

 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 に答える