我現在有它成立這樣有幾個TextViews:當點擊一個按鈕Android:如何在單擊按鈕時顯示TextView?
其中之一是更新,點擊後其他按鈕不會改變它。
其他TextViews顯示一個數字,我希望它們在單擊其中一個按鈕時被更改,但是當前所有的TextView都可見並且數字未被更改。
我想其他TextViews(下面NUM1-NUM3)是無形的最初,然後,當用戶點擊任一按鈕中的一個,所述TextViews變得可見,它們的值是由我有一個方法更新書面。
@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;
}
}
這是如何完成的?
非常好。謝謝!關於改變num1-num3的數字的小問題:這些陳述在onCreate中是否正確?或者我需要將它們移至onClick或其他地方? (即應計算初始數字,然後當單擊任一按鈕時,數字應改變,修改後的數字應顯示在點擊上。) –
喲,您可以在onCreate中完成,但onClick只會在計算時纔會計算值他們將需要。 – fgeorgiew