Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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
Java nullpointerexception无法启动活动_Java_Android_Android Intent_Nullpointerexception - Fatal编程技术网

Java nullpointerexception无法启动活动

Java nullpointerexception无法启动活动,java,android,android-intent,nullpointerexception,Java,Android,Android Intent,Nullpointerexception,当我尝试从我的主活动启动第二个活动时,我不断收到nullpointerexception错误,我的主活动代码如下所示: 包com.cep.daredevil import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.Button; imp

当我尝试从我的主活动启动第二个活动时,我不断收到nullpointerexception错误,我的主活动代码如下所示: 包com.cep.daredevil

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;

public class MainActivity extends Activity {
public boolean filled = true;
EditText taskArray[] = new EditText[200];
EditText descArray[] = new EditText[200];
String taskArr[] = new String[200];
String descArr[] = new String[200];
int taskId[] = new int[200];
int descId[] = new int[200];
int n=0;

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

    LinearLayout llayout = (LinearLayout)findViewById(R.id.llayout);

    Button addfield = new Button(this);
    addfield.setText("+");

    llayout.addView(addfield);

    addfield.setOnClickListener(new Button.OnClickListener()
    {
        public void onClick(View v)
        {
            addtask();
        }
    });

    for(int i=0;i<3;i++)
    {
        addtask();
    }
    LinearLayout blayout = (LinearLayout)findViewById(R.id.blayout);

    Button submit = new Button(this);
    submit.setText("Enter Dare");
    Button viewdare = new Button(this);
    viewdare.setText("View Dares");

    blayout.addView(submit);
    blayout.addView(viewdare);

    submit.setOnClickListener(new Button.OnClickListener()
    {
        public void onClick(View v)
        {
            inputdare(null);
        }
    });

    viewdare.setOnClickListener(new Button.OnClickListener()
    {
        public void onClick(View v)
        {
            listdare();
        }
    });
}

@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;
}

public void addtask()
{

    LinearLayout llayout = (LinearLayout)findViewById(R.id.llayout);
    taskArray[n] = new EditText(this);
    taskArray[n].setHint("Task Title");
    taskArray[n].setId(n+10000000);
    taskArray[n].setPadding(26,30,25,8);
    descArray[n] = new EditText(this);
    descArray[n].setHint("Task Description");
    descArray[n].setId(n+20000000);

    llayout.addView(taskArray[n]);
    llayout.addView(descArray[n]);
    n++;
}

public void inputdare(View v){
    EditText daretitle = (EditText)findViewById(R.id.title);

    String dare = daretitle.getText().toString();
    for (int i=0;i<n;i++)
    {
        if (taskArr[i] != null)
        {
            taskArr[i] = taskArray[i].getText().toString();
        }
        Integer id = taskArray[i].getId();
        if (id != null)
        {
            taskId[i] = id;
        }
    }

    Intent intent = new Intent(this, DisplayDares.class);
    Bundle bundle = new Bundle();
    bundle.putStringArray("TASKS", taskArr);
    bundle.putIntArray("TASKID", taskId);
    bundle.putBoolean("INPUT", true);
    intent.putExtras(bundle);
    startActivity(intent);
    }
}

public void listdare()
{
    Intent intent = new Intent(this, DisplayDares.class);
    Bundle bundle = new Bundle();
    bundle.putBoolean("INPUT", false);
    intent.putExtras(bundle);
        startActivity(intent);
    }
}
我得到的错误是:

03-08 13:32:18.053: E/AndroidRuntime(6873): FATAL EXCEPTION: main
03-08 13:32:18.053: E/AndroidRuntime(6873): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cep.daredevil/com.cep.daredevil.DisplayDares}: java.lang.NullPointerException
03-08 13:32:18.053: E/AndroidRuntime(6873):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at android.os.Looper.loop(Looper.java:137)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at android.app.ActivityThread.main(ActivityThread.java:5041)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at java.lang.reflect.Method.invokeNative(Native Method)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at java.lang.reflect.Method.invoke(Method.java:511)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at dalvik.system.NativeStart.main(Native Method)
03-08 13:32:18.053: E/AndroidRuntime(6873): Caused by: java.lang.NullPointerException
03-08 13:32:18.053: E/AndroidRuntime(6873):     at com.cep.daredevil.DisplayDares.onCreate(DisplayDares.java:32)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at android.app.Activity.performCreate(Activity.java:5104)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
03-08 13:32:18.053: E/AndroidRuntime(6873):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)

对代码进行PAS运算后,第34行似乎是:

layout.addView(测试)

所以这一行生成一个null指针异常

检查布局的id是否相同

提示:

在错误堆栈跟踪中,您可以进一步了解导致错误的原因:

03-08 13:32:18.053: E/AndroidRuntime(6873): Caused by: java.lang.NullPointerException
03-08 13:32:18.053: E/AndroidRuntime(6873):     at com.cep.daredevil.DisplayDares.onCreate(DisplayDares.java:34)
DisplayDares.java:34

表示DisplayDares.java文件中的第34行

您将看到以下行:

layout.addView(test);

现在测试不能为NULL,因为它不会抛出那个错误。所以布局必须是这样的。

对代码进行PAS运算后,第34行似乎是:

layout.addView(测试)

所以这一行生成一个null指针异常

检查布局的id是否相同

提示:

在错误堆栈跟踪中,您可以进一步了解导致错误的原因:

03-08 13:32:18.053: E/AndroidRuntime(6873): Caused by: java.lang.NullPointerException
03-08 13:32:18.053: E/AndroidRuntime(6873):     at com.cep.daredevil.DisplayDares.onCreate(DisplayDares.java:34)
DisplayDares.java:34

表示DisplayDares.java文件中的第34行

您将看到以下行:

layout.addView(test);

现在测试不能为NULL,因为它不会抛出那个错误。所以布局必须是这样。

可能不是这样,但在粘贴的代码中似乎有一个右括号不合适:
layout.addView(test)从哪里获得NPE?实际上
(线性布局)findViewById(R.id.layout)
在test.setText(taskArray[1])行返回null.at@zvzdhk为什么我在我的xml文件中定义它很可能不是它,但在粘贴的代码中似乎有一个右括号不合适:
layout.addView(test)从哪里获得NPE?实际上
(线性布局)findViewById(R.id.layout)
在test.setText(taskArray[1])行返回null.at@zvzdhk为什么我在我的xml文件中定义了它?这既是一个答案也是一个提示,如果他的粘贴代码相同,第34行应该指向他的布局为空。是的,我在xml文件中定义了它。我推断错误来自
text.setText(taskArray[1])很好,我认为您没有完全粘贴源代码或删除了2行。stacktrace说第34行,你的错误在32上。+1@timmied:刚刚看到他将堆栈跟踪行号编辑为32。你不应该得到-1。当我发表评论时,那是一个小费。我收回我的反对票。。很好,继续(y)这既是一个答案也是一个提示,如果他的粘贴代码是相同的,第34行应该指向他的布局为空。是的,我在xml文件中定义了它。我推断错误来自
text.setText(taskArray[1])很好,我认为您没有完全粘贴源代码或删除了2行。stacktrace说第34行,你的错误在32上。+1@timmied:刚刚看到他将堆栈跟踪行号编辑为32。你不应该得到-1。当我发表评论时,那是一个小费。我收回我的反对票。。很好,坚持下去(y)