我现在已经设置好了,所以有几个文本视图:
其中一个按钮在单击时更新,另一个按钮在单击时不会更改。
其他文本视图显示一个数字,我希望在单击其中一个按钮时对其进行更改,但当前所有文本视图都是可见的,并且数字不会更改。
我希望其他文本视图(下面的num1-num3)最初不可见,然后当用户单击其中一个按钮时,文本视图变为可见,并且它们的值由我编写的方法更新。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_name);
    num1 = randNum();
    num1 = alterNum(num1);
    num1View = (TextView) findViewById(R.id.number1);
    num1View.setText("Num1 Number: " + String.valueOf(num1));

    num2 = randNum();
    num2 = alterNum(num2);
    num2View = (TextView) findViewById(R.id.number2);
    num2View.setText("Num2 Number: " + String.valueOf(num2));

    num3 = randNum();
    num3 = alterNum(num3);
    num3View = (TextView) findViewById(R.id.number3);
    num3View.setText("Num3 Number: " + String.valueOf(num3));

    // This one is always visible, the ones above should be invisible
    // and appear onClick
    currentNum = randNum();
    myTextView = (TextView) findViewById(R.id.current_number);
    myTextView.setText("Current Number: " + String.valueOf(currentNum));
    okButton = (Button) findViewById(R.id.ok_button);
    okButton.setOnClickListener(this);
    changeButton = (Button) findViewById(R.id.change_button);
    changeButton.setOnClickListener(this);
}

我的onClick:
@Override
public void onClick(View v) {
    switch (v.getId()) {
    case R.id.num_confirmation:
        //do nothing
        // do not let user hit buttons more than once (either case)
        changeButton.setEnabled(false);
        okButton.setEnabled(false);
        break;
    case R.id.swap_button:
        currentNum = alterNum();
        myTextView.setText("Current Number: " + String.valueOf(currentNum));
        // do not let user hit buttons more than once (either case)
        swapButton.setEnabled(false);
        okButton.setEnabled(false);
        break;
    default:
        break;
    }
}

怎么做到的?

最佳答案

在XML布局文件中为应该不可见的文本视图将“visible”的初始值设置为“invisible”,并在onclick方法中更改其文本值并更改可见性:

 myTextView.setVisibility(View.VISIBLE);

这里有一个类似的问题应该会有帮助:How to change visibility of layout programaticly

10-07 19:32
查看更多