2014-03-25 41 views
0

我找不到問題。在這種情況下,我檢查了很多問題,但我無法解決問題。我粘貼了另一個源代碼的代碼,並且工作正常。這裏是代碼和XML文件,也許有人可以告訴問題是什麼。任何建議?Android。當我將適配器添加到ListView時發生NullPointerException?

public class MainActivity extends Activity { 
MySQLiteHelper db = new MySQLiteHelper(this); 
public String address = new String(); 

private com.example.fdfd.DiscussArrayAdapter adapter; 
public List firstMessages; 




public String messageBody = new String(); 
public String messageDate = new String(); 
public String messageBoolean = new String(); 


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

    final ListView listview = (ListView) findViewById(R.id.listView); 
    listview.setClickable(true); 

    final ArrayAdapter newAdapter = new ArrayAdapter(this, 
      android.R.layout.simple_list_item_1, firstMessages); 

    listview.setAdapter(newAdapter); 
. 
. 
. 

我的XML:

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

<ListView 
    android:id="@+id/listView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" /> 

</RelativeLayout> 

我的logcat:

03-25 16:01:03.890: E/Trace(7819): error opening trace file: No such file or directory (2) 
03-25 16:01:04.480: W/dalvikvm(7819): threadid=1: thread exiting with uncaught exception (group=0x413f5450) 
03-25 16:01:04.490: E/AndroidRuntime(7819): FATAL EXCEPTION: main 
03-25 16:01:04.490: E/AndroidRuntime(7819): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.fdfd/com.example.fdfd.MainActivity}: java.lang.NullPointerException 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2065) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2090) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at android.app.ActivityThread.access$600(ActivityThread.java:136) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at android.os.Handler.dispatchMessage(Handler.java:99) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at android.os.Looper.loop(Looper.java:137) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at android.app.ActivityThread.main(ActivityThread.java:4802) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at java.lang.reflect.Method.invokeNative(Native Method) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at java.lang.reflect.Method.invoke(Method.java:511) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:813) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:580) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at dalvik.system.NativeStart.main(Native Method) 
03-25 16:01:04.490: E/AndroidRuntime(7819): Caused by: java.lang.NullPointerException 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at android.widget.ArrayAdapter.getCount(ArrayAdapter.java:330) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at android.widget.ListView.setAdapter(ListView.java:460) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at com.example.fdfd.MainActivity.onCreate(MainActivity.java:64) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at android.app.Activity.performCreate(Activity.java:5013) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2029) 
03-25 16:01:04.490: E/AndroidRuntime(7819):  ... 11 more 
+0

public List firstMessages;是null cuz你得到了nullpointer的豁免 –

回答

1

你永遠不會初始化firstMessages,因此它是空的。 嘗試改變以下部分

public List firstMessages; 

public List firstMessages = new ArrayList(); 
0

您的名單,firstMessages,爲空並且正在生成NullPointerException異常。當連接到ListView時,將調用getCount(),然後調用Collection上的size()

0

的ArrayAdapter的作用是一個ListView的每個項目有一個佈局和數據相關聯。

ArrayAdapter的數據有問題,它們從未初始化過。然後,您不能將列表視圖的項目與數據關聯或在佈局上顯示項目。

相關問題