生成随机数会停止应用程序

时间:2014-03-30 20:24:41

标签: java android random

我在点击Button时尝试生成一个随机数,并在EditText

中打印该值

我使用此代码

public class Board_Play1 extends Activity {

int d;
Random random = new Random();
@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.board_play1);

    Button button = (Button) findViewById(R.id.button1);
    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            d=random.nextInt(6)+1;
            EditText diceno = (EditText) findViewById(R.id.editText1);
            diceno.setText(d);

        }
    }); 

}

但是点击按钮后运行应用程序会弹出一个错误Unfortunately, your app has stopped。不明白为什么会这样。任何人都可以解释错误是什么吗?

1 个答案:

答案 0 :(得分:2)

您需要调用接受setText作为参数的CharSequence方法。

目前您正在调用setText(int resid),它会尝试找到指定了ID的正确资源,因此我猜您的程序正在抛出ResourceNotFoundException

所以:

diceno.setText(String.valueOf(d));

这会将您的int转换为String

同时在EditText diceno = (EditText) findViewById(R.id.editText1);方法之前移动onClick。无需在每个onClick事件中检索它,只需一次即可。

最后,将来不要忘记用你的问题发布堆栈跟踪。