0

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

在保持相同活动时如何刷新/更新值?

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();)。

这是怎么做到的?

4

2 回答 2

1

就这样做

@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;
    }
于 2012-12-08T04:46:05.427 回答
0

您可以使用 switch case 找到 id 并在那里添加代码。或者在activity的layout xml文件中,在你想要的button中写一个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
}
于 2012-12-08T05:04:08.050 回答