应用程序意外停止。由以下原因导致的错误:Java.lang.NullPointerException

应用程序意外停止。由以下原因导致的错误:Java.lang.NullPointerException,java,android,android-xml,android-logcat,Java,Android,Android Xml,Android Logcat,main.java package com.learnactivities; 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.Button;

main.java

package com.learnactivities;

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.Button;

public class Main extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);

    Button b = (Button) findViewById(R.id.button1);
    b.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            startActivity(new Intent(Main.this, Second.class));

        }
    });
}
}

activity.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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Main" >

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

</RelativeLayout>
}

second.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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Second" >

<TextView
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="16dp"
    android:layout_marginTop="15dp"
    android:text="@string/nd" />

</RelativeLayout>

R.id.button1
second.xml
中声明,但您正在
activity.xml
中查找它。所以在
Main

   Button b = (Button) findViewById(R.id.button1);
    b.setOnClickListener(new OnClickListener()

findViewById
返回null

请在主类中尝试此操作

TextView b = (TextView ) findViewById(R.id.textView1);
    b.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            startActivity(new Intent(Main.this, Second.class));

        }
    });
而且在清单中的变化如下所示

<activity android:name=".Second" />


我在manifest.xml中确实有这个。。我应该在哪里买这个。。。??有没有具体的答案?还有,清单中的活动条目是错误的。类名是第二个,但条目是区分大小写的。黑带:你能说得具体点吗。。。我该怎么办?我刚添加了我看到的信息@SHANKAR您需要在第一个xml中有一个按钮,或者通过添加
android:clickable=“true”
并更改为
textview b=(textview)findViewById(R.id.textview 1)使textview可点击
将textview id设置为
textView1
@SHANKAR您应该在活动中声明一个带有该id的按钮。xml@Raghunandan:非常感谢你的建议!正如您所提到的,我知道,如果我使用TextView,我应该设置android:clickable=“true”。非常感谢你!
   Button b = (Button) findViewById(R.id.button1);
    b.setOnClickListener(new OnClickListener()
TextView b = (TextView ) findViewById(R.id.textView1);
    b.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            startActivity(new Intent(Main.this, Second.class));

        }
    });
<activity android:name=".Second" />