安卓系统:点击按钮,在同一活动中维护或更改值



我在屏幕上显示了一个随机生成的整数,当用户单击某个按钮时,我希望该数字更新为新数字或保持不变(取决于哪个按钮),但保持不变。

在同一活动中如何刷新/更新价值?

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
}

最新更新