現在、4つのボタンがあります。4番目のボタンは、アクティビティを最初に開始したときの状態にリセットするために追加したリセットボタンです。ただし、リセットボタンを追加すると、以前はボタンが想定どおりに有効化/無効化されていたにもかかわらず、ボタンの1つが永続的に無効化されました。関連するコードは次のとおりです。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_name);
// non relevant code
okButton = (Button) findViewById(R.id.ok);
okButton.setOnClickListener(this);
changeButton = (Button) findViewById(R.id.change_button);
changeButton.setOnClickListener(this);
nextButton = (Button) findViewById(R.id.next_button);
nextButton.setEnabled(false);
nextButton.setOnClickListener(this);
reset = (Button) findViewById(R.id.reset);
reset.setEnabled(false);
reset.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.ok:
changeButton.setEnabled(false);
okButton.setEnabled(false);
nextButton.setEnabled(true);
break;
case R.id.change_button:
changeButton.setEnabled(false);
okButton.setEnabled(false);
nextButton.setEnabled(true);
break;
case R.id.next_button:
nextButton.setEnabled(false);
okButton.setEnabled(true);
changeButton.setEnabled(true);
break;
case R.id.reset:
Intent intent = getIntent();
finish();
startActivity(intent);
break;
default:
break;
}
}
リセットボタンに関連するすべてのパーツが追加されるまで、すべてが正常に機能していました。基本的に、私が望む動作は次のとおりです。
最初:次へとリセットは無効になっていますが、[変更]または[OK]をクリックすると有効になります
[変更]または[OK]のいずれかをクリックすると、両方が無効になり(2回以上クリックしないようにするため)、リセットと次の両方が有効になります。
[次へ]または[リセット]をクリックすると、それらは無効になり、変更して[OK]が有効になります。
リセットコードが追加されるまで、変更、OK、および次のボタンの動作は機能していました。その後、次のボタンは完全に無効になりました。なにが問題ですか?どうすれば修正できますか?
編集*:
ボタンのxmlコードは次のとおりです。
<Button
android:id="@+id/ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/change_button"
android:layout_alignBottom="@+id/change_button"
android:layout_toLeftOf="@+id/reset"
android:text="@string/Ok" />
<Button
android:id="@+id/next_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/change_button"
android:layout_alignBottom="@+id/change_button"
android:layout_alignParentLeft="true"
android:text="@string/next_button" />
<Button
android:id="@+id/reset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/reset" />
<Button
android:id="@+id/change_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="14dp"
android:layout_toRightOf="@+id/next_button"
android:text="@string/change" />