我在屏幕上显示了一个随机生成的整数,当用户单击某个按钮时,我希望该数字更新为新数字或保持不变(取决于哪个按钮),但保持不变。
在同一活动中如何刷新/更新价值?
public class ClassName extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_name);
int currentNum = randNum();
TextView myTextView = (TextView) findViewById(R.id.current_number);
myTextView.setText("Current Number: " + String.valueOf(currentNum));
okButton = (Button) findViewById(R.id.num_confirmation);
okButton.setOnClickListener(this);
changeButton = (Button) findViewById(R.id.change_num);
changeButton.setOnClickListener(this);
// set 'currentNumber' accordingly
// reprint value
}
@Override
public void onClick(View v) {
}
我想做的一件事是在单击按钮时保持相同的值(即currentNum
保持不变)。另一件事是用我的方法更改值(通过不同的按钮点击),该方法返回一个新的数字(即currentNumber = methodCall();
)。
这是怎么做到的?
只做这个
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.num_confirmation:
//do nothing in your current scenario
break;
case R.id.change_num:
myTextView.setText("Current Number: " + String.valueOf(currentNum+5));
break;
default:
break;
}
您可以使用switch case来查找id并在那里添加代码。或者在活动的布局xml文件中,在要编写onClick方法的按钮中
对于按钮1
android:onClick="newNum"
对于按钮2
android:onClick="doNothing"
然后,将这些方法添加到您的活动类中
public void newNum(View v) {
myTextView.setText("Current Number: " + String.valueOf(currentNum+5));
}
public void doNothing(View v) {
// Do nothing here
}