У меня есть десять кнопок, и только один из них имеет красный фон в любой момент времени, а красная кнопка имеет onClicklistener. Когда эта красная кнопка нажата, одна из этих десяти кнопок в случайном порядке получит красный фон, и эта новая красная кнопка должна использовать предыдущий onCLickListener, и когда эта новая красная кнопка будет нажата снова, одна из этих десяти кнопок в случайном порядке получает красный фон, а onClickListener должен быть назначен ему, и есть счетчик, который подсчитывается каждый раз, когда нажимается RedButton.Android: Как установить onClickListener на другую кнопку при нажатии
Пример: Есть четыре кнопки [WhiteButton WhiteButton RedButton WhiteButton] и только RedButton имеет onClickListener когда RedButton нажата одна из кнопок цвет меняется на красный [WhiteButton RedButton WhiteButton WhiteButton] , когда эта новая RedButton нажата кнопки становятся [WhiteButton WhiteButton WhiteButton RedButton]
Я могу изменить цвет одной из десяти кнопок на красный, когда RedButton щелкают в первый раз, но не в состоянии установить OnClickListener к новому RedButton.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ourButton = (Button) findViewById(R.id.button);
ourTextView = (TextView) findViewById(R.id.textView);
buttons[0] = (Button) findViewById(R.id.button2);
buttons[1] = (Button) findViewById(R.id.button3);
buttons[2] = (Button) findViewById(R.id.button4);
buttons[3] = (Button) findViewById(R.id.button5);
Random r = new Random();
oddValue = r.nextInt(4 - 0);
buttons[oddValue].setBackgroundColor(Color.RED);
buttons[oddValue].setOnClickListener(new ourOnClickListener(this));
ourOnClickListener
public class ourOnClickListener implements OnClickListener{
MainActivity caller;
private int count;
public ourOnClickListener(MainActivity activity) {
this.caller = activity;
this.count = 0;
}
public void onClick(View view) {
int i;
count = count + 1;
Random r = new Random();
int oddValue_new = r.nextInt(4 - 0);
caller.buttons[oddValue_new].setBackgroundColor(Color.RED);
caller.ourTextView.setText("Count : " + count);
}
}
Я думаю, вы поняли вопрос. – Deutro