单击时将按钮文本移动到另一个按钮

时间:2017-12-03 12:58:25

标签: java android

我想在单击时更改按钮文本。例如,如果" 4"点击我应该用空按钮文本替换。我想用数字制作益智游戏。我点击按钮时会遇到问题,它应该移动按钮的文字。

enter image description here

super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    buttonsContainer = findViewById(R.id.buttonsContainer);
    restartButton = findViewById(R.id.restartButton);
    restartButton.setOnClickListener(this);

    for (int i = 0; i < 4; i++) {
        LinearLayout rows = (LinearLayout) buttonsContainer.getChildAt(i);
        for (int j = 0; j < 4; j++) {
            buttons[i][j] = (Button) rows.getChildAt(j);
        }
    }

    for (int i = 1; i <= 15; i++) {
        numberList.add(i);
    }
    restartGame();
}


@Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.restartButton: {
            restartGame();
            break;
        }
        case R.id.buttonsContainer:{
            changePlace();
            break;
        }
    }
}

private void restartGame() {
    Collections.shuffle(numberList);
    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 4; j++) {
            if(i==3 && j==3)continue;
            buttons[i][j].setText(String.valueOf(numberList.get(4*i+j)));
        }
    }
}

private void changePlace(){

    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 4; j++) {

        }
    }

}

2 个答案:

答案 0 :(得分:0)

您可以按照以下方式执行操作:

Button bn=(Button)findViewById(R.id.RegiB);
bn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
        bn.setText("");//it will replace text with empty
        });

答案 1 :(得分:0)

我并非100%确定您想要实现的目标,但更改按钮的文字非常简单。只需在setText()中拨打OnClickListener()

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            button.setText("_Text you want to change_");
        }
    });