NullPointerException,不确定导致null的原因

时间:2014-06-04 14:34:30

标签: android nullpointerexception

我目前在第53行导致我的应用程序崩溃(或者是我从logcat收集的内容):java.lang.NullPointerException at com.example.mdpmk1.MainActivity.onCreate(MainActivity.java:53)

MainActivity

package com.example.mdpmk1;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.Toast;
import android.content.Context;
import android.net.wifi.ScanResult;
import android.widget.Button;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;

public class MainActivity extends Activity {
    Button bt1, bt2, bt3;
                @Override
                protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_main);

                    bt1 = (Button) findViewById(R.id.button1);
                    bt2 = (Button) findViewById(R.id.button2);
                    bt3 = (Button) findViewById(R.id.button3);



                    bt1.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                            IntentIntegrator integrator = new IntentIntegrator(MainActivity.this);
                            integrator.initiateScan();
                        }
                    });

                    bt2.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View arg0) {

                            Intent intent = new Intent(MainActivity.this, location1.class);
                            startActivity(intent);

   }

                    });



                    bt3.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View arg0) {

                            Intent intent = new Intent(MainActivity.this, location2.class);
                            startActivity(intent);


                        }
                    });

                }

        public void onActivityResult(int requestCode, int resultCode, Intent intent) 
                    {
                        //super.onActivityResult(requestCode, resultCode, intent);
                        if (requestCode == 0) {
                            if (resultCode == RESULT_OK) {

                            } else if (resultCode == RESULT_CANCELED) {

                            }
                        }
                    }


                @Override
                public boolean onCreateOptionsMenu(Menu menu) {
                    // Inflate the menu; this adds items to the action bar if it is present.
                    getMenuInflater().inflate(R.menu.main, menu);
                    return true;
                }

            }

activity_main

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/codeResult"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/appName"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/Text" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/Text" />

<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/Text" />

</LinearLayout>

我知道它指向我的第三个按钮,但据我所知,我的代码没有任何问题。

非常感谢帮助。

1 个答案:

答案 0 :(得分:1)

可能是这一行

bt3 = (Button) findViewById(R.id.button3);

在bt3上返回null。

尝试查看xml布局中button3是否定义良好(id)。

如果可以,请尝试清理并构建项目以重新生成R文件。

注意:如果您在xml文件中稍作更改,则会重新生成R文件。