0

LOGCAT 错误

05-16 07:16:24.503: E/AndroidRuntime(17625): FATAL EXCEPTION: main
05-16 07:16:24.503: E/AndroidRuntime(17625): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.fdc/com.example.fdc.Medical_Record}: java.lang.NullPointerException
05-16 07:16:24.503: E/AndroidRuntime(17625):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at android.os.Handler.dispatchMessage(Handler.java:99)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at android.os.Looper.loop(Looper.java:123)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at android.app.ActivityThread.main(ActivityThread.java:3687)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at java.lang.reflect.Method.invokeNative(Native Method)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at java.lang.reflect.Method.invoke(Method.java:507)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at dalvik.system.NativeStart.main(Native Method)
05-16 07:16:24.503: E/AndroidRuntime(17625): Caused by: java.lang.NullPointerException
05-16 07:16:24.503: E/AndroidRuntime(17625):    at com.example.fdc.Medical_Record.onCreate(Medical_Record.java:84)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-16 07:16:24.503: E/AndroidRuntime(17625):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
05-16 07:16:24.503: E/AndroidRuntime(17625):    ... 11 more

我的代码是:

package com.example.fdc;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;
public class Medical_Record extends Activity{
TextView Record1,
Record2,Record3,
Record4,Record5,Record6
,Record7,Record8,Record9,
Record10,Record11;
String array_record [];

String username ="";
String id="";
String pname="";
String prel="";
String paddress="";
String pno="";
String poffice="";
String pmobile="";
String pbirth="";
String pcomment="";
String pcomplain = "";


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

  Record1 = (TextView) findViewById(R.id.precord1);
  Record2 = (TextView) findViewById(R.id.precord2);
  Record3 = (TextView) findViewById(R.id.precord3); 
  Record4 = (TextView) findViewById(R.id.precord4);
  Record5 = (TextView) findViewById(R.id.precord5);
  Record6 = (TextView) findViewById(R.id.precord6);
  Record7 = (TextView) findViewById(R.id.precord7);
  Record8 = (TextView) findViewById(R.id.precord8);
  Record9 = (TextView) findViewById(R.id.precord9);
  Record10 = (TextView) findViewById(R.id.precord10);



            Intent intent=getIntent();
        String message =intent.getStringExtra("values");
        if(message.contains(","))
        {
            array_record=message.split(",");


         username =array_record[0];
         id=array_record[1];
         pname=array_record[2];
         prel=array_record[3];
         paddress=array_record[4];
         pno=array_record[5];
         poffice=array_record[6];
         pmobile=array_record[7];
         pbirth=array_record[8];
         pcomment=array_record[9];
         pcomplain = array_record[10];



        Log.d("ijazzzz", prel);

        Record1.setText(username);
        Record2.setText(id);
        Record3.setText(pname);
        Record4.setText(prel);
        Record5.setText(paddress);
        Record6.setText(pno);
        Record7.setText(poffice);
        Record8.setText(pmobile);
        Record9.setText(pbirth);
        Record10.setText(pcomment);
        Record11.setText(pcomplain);
        }
        else

        {
            Log.d("ijazzzz", "sssssssssssssssss");
        }
        }

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

我不明白为什么会出现致命错误?我是初学者。我调试了我的代码,但其中没有错误。请帮忙。我正在通过 httppost 获取数据。我很容易得到数据,然后我拆分了长长的数据数组。之后将每个拆分数组存储为字符串,最后我将这些字符串设置为 TEXTVIEWS 但它给了我一个致命错误。

4

2 回答 2

1

您忘记在对其Record11调用setText方法之前初始化 TextView 实例,因此在onCreate方法 after中对其进行初始化setContentView

Record11 = (TextView) findViewById(R.id.precord11);
于 2013-05-16T02:39:47.330 回答
1

在 LogCat 中它说:

05-16 07:16:24.503: E/AndroidRuntime(17625): Caused by: java.lang.NullPointerException
05-16 07:16:24.503: E/AndroidRuntime(17625):    at com.example.fdc.Medical_Record.onCreate(Medical_Record.java:84)

这似乎与:

Record11.setText(pcomplain);

但是您并没有像其他 TextView 那样一开始就对其进行初始化(仅在第 38 到 47 行从 1 初始化到 10)。添加

Record11 = (TextView) findViewById(R.id.precord11);

在第 48 行(前提是您有现有 ID precord11

于 2013-05-16T02:42:43.170 回答