当我从这里开始时,我的Android应用程序崩溃是代码 我在不同的设备上试过了 它编译得很好
public class MyActivity extends Activity {
int userAns;
int ran1;
int ran2;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ran1 =(int)(Math.random()*50+1);
ran2 =(int)(Math.random()*50+1);
TextView number1 = (TextView) findViewById(R.id.textView);
number1.setText(ran1);
TextView number2 = (TextView) findViewById(R.id.textView3);
number2.setText(ran2);
ans =ran1+ran2;
}
public void sendMessage(View view){
String userAnsS = ((EditText)findViewById(R.id.editText)).getText().toString();
userAns= Integer.parseInt(userAnsS);
if (userAns == ran1 + ran2) {
return;
}
答案 0 :(得分:3)
试试这个
number1.setText(""+ran1);
number2.setText(""+ran2);
或使用
number1.setText(String.valueOf(ran1));
number2.setText(String.valueOf(ran2));
在你的情况下
public final void setText (int resid)
// looks for a resource with the id mentioned
// if resource not found you get resource not found exception
你想要什么
public final void setText (CharSequence text)
// Sets the string value of the TextView.
//ran1 and ran 2 is of type int so use String.valueOf(intvalue)
答案 1 :(得分:0)
在将文本设置为TextView number2.setText(String.valueOf(ran2));
答案 2 :(得分:0)
请参阅android developers website了解setText用法
你需要
setText(CharSequence text)
Sets the string value of the TextView.
setText方法接受CharacterSequence
字符串是CharSequences,所以你可以使用字符串和setText方法。
因此,您可以同时使用number1.setText(String.valueOf(ran1));
或number1.setText(""+ran1);
答案 3 :(得分:0)
ans变量未声明为int类型,即 int ans = ran1 + ran2
textview的setText方法使用字符串作为变量,因此使用以下内容 number1.setText(将String.valueOf(RAN1)); number2.setText(将String.valueOf(RAN2));