Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 启动我的应用程序时遇到问题?_Android_Android Layout_Android Emulator - Fatal编程技术网

Android 启动我的应用程序时遇到问题?

Android 启动我的应用程序时遇到问题?,android,android-layout,android-emulator,Android,Android Layout,Android Emulator,这是java。。。有人能告诉我这里怎么了吗?错误可能在这里,我想logcat(下面)中的主要错误是一个空指针。。。但我可能错了。。。提前谢谢大家 package tip.calculator; import android.os.Bundle; import android.app.Activity; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.

这是java。。。有人能告诉我这里怎么了吗?错误可能在这里,我想logcat(下面)中的主要错误是一个空指针。。。但我可能错了。。。提前谢谢大家

package tip.calculator;


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




public class TipCalculator extends Activity 
{

private Button enter;
EditText myEditField ;
EditText myEditField2;
float percentage = 0;
float percentageInp = 0;
float billAmount = 0;
double output = 0; 
String output1 = "";
Button clearButton ;
TextView textView;

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

    myEditField = (EditText) findViewById(R.id.percentText);
    enter = (Button)findViewById(R.id.button1);
    myEditField2 = (EditText) findViewById(R.id.billText);



    enter.setOnClickListener(new OnClickListener() {


        public void onClick(View v) {

             TextView errors;
             textView = (TextView) findViewById(R.id.textView1);
             errors = (TextView) findViewById(R.id.errorText);    
             clearButton = (Button) findViewById(R.id.clearButton);

             for(;;){

             if(myEditField == null){
                 errors.setText("Percent must be filled in");
                 break;

             }

             if(myEditField2 == null){
                 errors.setText("Bill Amount must be filled in");
                 break;
             }

             }

            percentageInp = Float.parseFloat(myEditField.getText().toString());
            billAmount = Float.parseFloat(myEditField2.getText().toString());

            percentage = ((float)percentageInp /100);

            output = (double)(billAmount * percentage);

            double result = output * 100;
            result = Math.round(result);
            result = result / 100;

            output1 = Double.toString(result);

            textView.setText(output1 + " $");

        }
    });

    clearButton.setOnClickListener(new OnClickListener() {

        public void onClick(View arg0) {

            percentage = 0;
            output = 0;
            output1 = "";
             TextView textView = null;

            textView.setText("");

            percentageInp = 0;
            billAmount = 0;

            myEditField.setText("");
            myEditField2.setText("");


        }


    });
}
}
这是logcat。。。我不知道从哪里开始

08-01 18:13:41.915: E/AndroidRuntime(30328): FATAL EXCEPTION: main
08-01 18:13:41.915: E/AndroidRuntime(30328): java.lang.RuntimeException: Unable to start activity ComponentInfo{tip.calculator/tip.calculator.TipCalculator}: java.lang.NullPointerException
08-01 18:13:41.915: E/AndroidRuntime(30328):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1968)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at android.app.ActivityThread.access$600(ActivityThread.java:127)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1159)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at android.os.Handler.dispatchMessage(Handler.java:99)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at android.os.Looper.loop(Looper.java:137)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at android.app.ActivityThread.main(ActivityThread.java:4507)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at java.lang.reflect.Method.invokeNative(Native Method)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at java.lang.reflect.Method.invoke(Method.java:511)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at dalvik.system.NativeStart.main(Native Method)
08-01 18:13:41.915: E/AndroidRuntime(30328): Caused by: java.lang.NullPointerException
08-01 18:13:41.915: E/AndroidRuntime(30328):    at tip.calculator.TipCalculator.onCreate(TipCalculator.java:82)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at android.app.Activity.performCreate(Activity.java:4465)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052)
08-01 18:13:41.915: E/AndroidRuntime(30328):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1932)
08-01 18:13:41.915: E/AndroidRuntime(30328):    ... 11 more
您从不初始化
clearButton

clearButton.setOnClickListener(new OnClickListener() {...}
从评论中添加内容

您需要移动此文件:

clearButton = (Button) findViewById(R.id.clearButton);
到这里:

myEditField = (EditText) findViewById(R.id.percentText);
enter = (Button)findViewById(R.id.button1);
myEditField2 = (EditText) findViewById(R.id.billText);
clearButton = (Button) findViewById(R.id.clearButton);

clearButton仅在单击enter按钮时设置。若在enter按钮之前单击clearButton,则抛出错误


您可以使用
findViewById

设置clearButton和其他按钮是否在清单文件中包含TipCalculator并将其声明为launcher.clearButton.setOnClickListener(new OnClickListener(){否这是clearButton.setOnClickListener(new OnClickListener()){噢,我在onClick for enter中有它,这是一个问题,对吗?这就是你引用它的地方,你需要在正确的范围内初始化
clearButton
。onClick()方法在按下按钮之前不会执行…“这是一个问题,对吗?”是的,onClick()是一个不同的范围。很高兴我能提供帮助,现在您应该能够自己跟踪一些LogCat错误。祝您好运!
myEditField = (EditText) findViewById(R.id.percentText);
enter = (Button)findViewById(R.id.button1);
myEditField2 = (EditText) findViewById(R.id.billText);
clearButton = (Button) findViewById(R.id.clearButton);