2014-03-30 48 views
0

我想产生的点击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。不能理解为什么如此。任何人都可以解释什么是错误?

+0

d是一个int,你应该使用'String.valueOf(d)' –

回答

2

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

当前你打电话给setText(int resid),它会尝试找到指定ID的正确资源,所以我猜你的程序正在抛出一个ResourceNotFoundException

所以做:

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

这将转换您的intString

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

最后在未来,不要忘记发布stacktrace与您的问题。