我得到了很多java.lang.NullPointerException

时间:2015-04-01 23:42:57

标签: java android button null

我用2个布局,6个按钮和一个WebView创建了一个应用程序。 应用程序可以像书签一样,只是不在chrome中。 这些按钮在webview中打开一个网站,并设置按钮的文本。 但是,我所做的一切都是空的..

MainActivity
        package link.link.link;

    import android.app.AlertDialog;
    import android.content.DialogInterface;
    import android.support.v7.app.ActionBarActivity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.WindowManager;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.widget.Button;


    public class MainActivity extends ActionBarActivity {
    public WebView mWB;
    public Button mainBTN;
    public Button oneBTN;
    public Button twoBTN;
    public Button threeBTN;
    public Button fourBTN;
    public Button fiveBTN;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            mWB = (WebView) findViewById(R.id.mWB);
            WebSettings wST = mWB.getSettings();
            wST.setJavaScriptEnabled(true);


            mainBTN = (Button) findViewById(R.id.mainBTN);
            mainBTN.setOnClickListener(new View.OnClickListener() {
                                           @Override
                                           public void onClick(View v) {
                                                setContentView(R.layout.activity_main);
                                           }
                                       });
            oneBTN = (Button) findViewById(R.id.oneBTN);
            oneBTN.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    setContentView(R.layout.hi);
    //--------------------------------------------------------------------------------------------------
                    mWB.loadUrl("http://facebook.com/");
                    oneBTN.setText("Facebook");
    //--------------------------------------------------------------------------------------------------
                };
            });
            twoBTN = (Button) findViewById(R.id.twoBTN);
            twoBTN.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    setContentView(R.layout.hi);
    //--------------------------------------------------------------------------------------------------
                     mWB.loadUrl("http://facebook.com/");
                     twoBTN.setText("Facebook");
    //--------------------------------------------------------------------------------------------------
                                          }
                                      });
            threeBTN = (Button) findViewById(R.id.threeBTN);
            threeBTN.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    setContentView(R.layout.hi);
    //--------------------------------------------------------------------------------------------------
                    mWB.loadUrl("http://facebook.com/");
                    threeBTN.setText("Facebook");
    //--------------------------------------------------------------------------------------------------
                }
            });
            fourBTN = (Button) findViewById(R.id.fourBTN);
            fourBTN.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    setContentView(R.layout.hi);
    //--------------------------------------------------------------------------------------------------
                    mWB.loadUrl("http://facebook.com/");
                    fourBTN.setText("Facebook");
    //--------------------------------------------------------------------------------------------------
                }
            });
            fiveBTN = (Button) findViewById(R.id.fiveBTN);
            fiveBTN.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    setContentView(R.layout.hi);
    //--------------------------------------------------------------------------------------------------
                    mWB.loadUrl("http://facebook.com/");
                    fiveBTN.setText("Facebook");
    //--------------------------------------------------------------------------------------------------
                }
            });

        }
        public void onBackPressed() {
            new AlertDialog.Builder(this)
                    .setTitle("Gasis?")
                    .setMessage("Ako kliknis use edns sa gase")
                    .setNegativeButton(android.R.string.no, null)
                    .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {

                        public void onClick(DialogInterface arg0, int arg1) {
                            MainActivity.super.onBackPressed();
                        }
                    }).create().show();
        }
    }

activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/oneBTN"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/twoBTN"
        android:layout_below="@+id/oneBTN"
        android:layout_centerHorizontal="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/threeBTN"
        android:layout_below="@+id/twoBTN"
        android:layout_centerHorizontal="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/fourBTN"
        android:layout_below="@+id/threeBTN"
        android:layout_centerHorizontal="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/fiveBTN"
        android:layout_below="@+id/fourBTN"
        android:layout_centerHorizontal="true" />
</RelativeLayout>

hi.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="oj deka linkavto"
        android:id="@+id/mainBTN"
        android:layout_gravity="center_horizontal" />

    <WebView
        android:layout_marginTop="0dp"
        android:layout_width="match_parent"
        android:layout_height="521dp"
        android:id="@+id/mWB">
        </WebView>

</LinearLayout>

它说我在一行上有一个java.lang.NullPointerException,我删除它然后它说另一行。 有人能指出我的问题吗?

编辑:我尝试了“什么是空指针异常,我该如何修复它?”并且我想出了我的问题,所以他们说如果我在创建对象之前初始化它会变为null,但在我的情况下,对象被初始化为不同的布局,这就是问题,我不知道如何尽管如此。 EDIT2: LOGCAT

1 个答案:

答案 0 :(得分:0)

您是否已设置 AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />