Мое приложение для Android говорит, что источник не найден, когда я отлаживаю его - PullRequest
0 голосов
/ 14 марта 2011

Здравствуйте, я студент колледжа, изучающий Java. Я работаю над приложением для Android. Он компилируется и не показывает ошибок. Однако при запуске возникает неожиданная ошибка закрытия.

enter image description here

enter image description here

Вот мое заявление. Когда вы нажмете на «Рассчитать вес», вы перейдете на этот экран.

Вот мой код:

package com.warhammerdicerrolleralpha;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

public class myMain extends Activity 
{

    EditText enternumberofdice;

    final TextView textGenerateNumber = (TextView) findViewById(R.id.text4);

    private EditText text, text2, text3;

    private Button btutorial1;

    int number1 = Integer.parseInt(text.getText().toString());

    int number2 = Integer.parseInt(text2.getText().toString());

    ImageView i = new ImageView(this);
    {
        i.setAdjustViewBounds(true);
    }

    private int myFaceValue;

    int myNum;

    /**
     * Called when the activity is first created.
     * 
     * @return
     */
    @Override

    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    public void go() 
    {
        while (myNum > 0) 
        {

            // TODO Auto-generated method stub
            textGenerateNumber.setText(String.valueOf(enternumberofdice));

             --myNum;

            return;
        }
    }

    public int roll() 
    {
        int val = (int) (6 * Math.random() + 1); // Range 1-6
        setValue(val);
        return val;
    }

    {
        try 
        {
            myNum = Integer.parseInt(enternumberofdice.getText().toString());
        } 
            catch (NumberFormatException nfe) 
        {
            enternumberofdice.setText("Does not work");
        }
    }

    public int getValue() 
    {
        return myFaceValue;
    }

    public void setValue(int myFaceValue) 
    {
        this.myFaceValue = myFaceValue;

    }

    {
        switch (myFaceValue) 
        {
        case 5:
            i.setImageResource(R.drawable.dicefive);
            break;
        case 1:
            i.setImageResource(R.drawable.diceone);
            break;
        case 3:
            i.setImageResource(R.drawable.dicethree);
            break;
        case 2:
            i.setImageResource(R.drawable.dicetwo);
            break;
        case 4:
            i.setImageResource(R.drawable.dicefour);
            break;
        case 6:
            i.setImageResource(R.drawable.dicesix);
            break;
        default:
            i.setImageResource(R.drawable.error);
            break;
        }

        text = (EditText) findViewById(R.id.editText1);

        text2 =(EditText) findViewById(R.id.editText2);

        text3 = (EditText) findViewById(R.id.editText3);      

        btutorial1 = (Button) findViewById(R.id.button1);

        btutorial1.setOnClickListener((OnClickListener) this);

        Button buttonGenerate = (Button) findViewById(R.id.button1);

        enternumberofdice = (EditText) findViewById(R.id.enternumberofdice);

        Button buttonGenerate2 = (Button) findViewById(R.id.battlecalculate);

        buttonGenerate2.setOnClickListener(new OnClickListener()    
        {

            @Override
            public void onClick(View v) 
            {
                    setContentView(R.layout.main2);
            }

        });

        buttonGenerate.setOnClickListener(new OnClickListener()     
        {
            @Override
            public void onClick(View v) 
            {
                // TODO Auto-generated method stub
                go();

                roll();
            }

        });
    }

    public void onClick(View view) 
    {
        switch (view.getId()) 
        {
            case R.id.button1:

                if (number1 > number2) 
                {
                    text3.setText("Three and above");       
                    return;
                }

                else if (number1 < number2) 
                {
                    text3.setText("Five and above");        
                    return;
                }

                else if (number1 == number2) 
                {
                    text3.setText("Four and above");        
                    return;
                }

                else
                {
                    text3.setText("Not Working");       
                    return;
                }

        }
    }
}

1 Ответ

0 голосов
/ 14 марта 2011

Посмотрите на трассировку стека, но я думаю, что это может быть из-за этого блока:

private EditText text, text2, text3;

private Button btutorial1;

int number1 = Integer.parseInt(text.getText().toString());

int number2 = Integer.parseInt(text2.getText().toString());

Выглядит так, как будто вы пытаетесь разобрать нулевые значения.Вам нужно указать, где текст, текст2, текст3 в вашей форме, используя код, подобный следующему:

TextView textGenerateNumber = (TextView) findViewById(R.id.text4);

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...