我在点击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 :(得分:2)
您需要调用接受setText
作为参数的CharSequence
方法。
目前您正在调用setText(int resid)
,它会尝试找到指定了ID的正确资源,因此我猜您的程序正在抛出ResourceNotFoundException
。
所以:
diceno.setText(String.valueOf(d));
这会将您的int
转换为String
。
同时在EditText diceno = (EditText) findViewById(R.id.editText1);
方法之前移动onClick
。无需在每个onClick
事件中检索它,只需一次即可。
最后,将来不要忘记用你的问题发布堆栈跟踪。