2012-04-20 60 views
1

我写了一个简单的android列表视图,但它在运行时抛出java.lang.NullPointerException异常。在调试模式下检查它,似乎findViewbyId返回null。 所以,当我到达setAdapter时,它会抛出异常。但是列表确实存在于R.java文件和main.xml中。我怎样才能解决这个问题?Android:Listview空指针异常

setContentView(my.namespace.R.layout.main); 
    String[] a={"asd","asdsad"}; 
    ListView lt; 
    lt = (ListView) findViewById(R.id.list);   
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,my.namespace.R.layout.rowitem, a); 
    lt.setAdapter(adapter); 

的main.xml:

<LinearLayout 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/list" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 
</ListView> 

</LinearLayout> 
+0

你能告诉我rowitem.xml文件的代码? – 2012-04-20 05:26:59

+1

你似乎指的是不同的R文件(my.namespace.R和R)。你可以看看'ListActivity',如果你想要的只是一个'ListView',在这种情况下你不需要调用setContentView' – Rajesh 2012-04-20 05:30:26

+0

是否使用自定义'ArrayAdapter'? @Rajesh我认为'setContentView'是主要的'活动'。 – Mayank 2012-04-20 05:35:51

回答

2

是您的活动来延长ListActivity?如果扩展ListActivity,则不需要单独的布局。请参阅this教程以获得进一步参考。

0

WIRTE这样的:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,my.namespace.R.layout.simple_list_item_1, a); 

是指THIS