应用程序启动时崩溃

时间:2013-10-22 06:07:18

标签: android

当我从这里开始时,我的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;
       }

4 个答案:

答案 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));