メインアクティビティにTextViewがあります。
ボタンを押すと、別のアクティビティが開き、TextViewの名前を変更できるオプションが表示されます
btnSet.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Options.class);
startActivity(intent);
}
});
オプションアクティビティで、TextViewの名前を次のように変更します
public class Options extends MainActivity{
public static Boolean isRenamed;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.options);
String lblName = ("Counter 1");
Button btnOk = (Button) findViewById(R.id.btn_ok);
btnOk.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent backToMain = new Intent(Options.this, MainActivity.class);
EditText labelName = (EditText) findViewById(R.id.set_name);
String lblName = labelName.getText().toString();
backToMain.putExtra(LABEL_NAME, lblName);
isRenamed = true;
startActivity(backToMain);
finish();
}
});
}
}
私はブールisRenamedを使用しており、[OK]をクリックした後にtrueに設定しました
そして私の主な活動ではこれを設定しました
if (Options.isRenamed == true) {
// Get the message from the intent
Intent backToMain = getIntent();
String lblName = backToMain.getStringExtra(Options.LABEL_NAME);
// Edit the text view
TextView label = (TextView) findViewById(R.id.label1);
label.setText(lblName);
}
今のところ強制終了ですが、ファイルの名前を変更したかどうかを確認し、そのコードを実行して設定するためのより洗練された方法はありますか?