2012-01-06 212 views
-1

我是Android新手,有一個關於第一視圖的問題。 我開始一個新的項目,然後打開main.xml並添加一個謊言視圖。爲什麼我的android listview不工作?

主要活動的樣子:

public class MainActivity extends Activity { 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     ListView lv = (ListView)findViewById(R.id.listView1); 
     lv.setAdapter(ArrayAdapter.createFromResource(getBaseContext(), R.array.titles, R.layout.list_item)); 

     setContentView(R.layout.main); 
    } 
} 

R.array.titles我有字符串數組和R.layout.list_item我有一個單一的TextView。

現在每次我開始在調試模式下,我得到下面的輸出應用:

01-06 09:39:17.193: W/dalvikvm(367): threadid=3: thread exiting with uncaught exception (group=0x4001b188) 
01-06 09:39:17.202: E/AndroidRuntime(367): Uncaught handler: thread main exiting due to uncaught exception 
01-06 09:39:17.402: E/AndroidRuntime(367): java.lang.RuntimeException: Unable to start activity ComponentInfo{meine.app/meine.app.MainActivity}: java.lang.NullPointerException 
01-06 09:39:17.402: E/AndroidRuntime(367): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496) 

這裏有什麼問題?

+0

您從createFromResource(getBaseContext(),R.array.titles,R.layout.list_item)獲取的適配器;期望R.id.text1設置資源值,並且在佈局R.layout.list_item中它不可用,請在您的佈局中創建android.R.id.text1,或將佈局參數更改爲android.R.layout.simple_list_item_1 ,請檢查並讓我知道結果。 – jeet 2012-01-06 10:13:45

回答

3

您必須致電
setContent(R.layout.main);在intanciating listView之前使用

+0

thx,現在它的工作原理 – gurehbgui 2012-01-06 10:03:03

+0

這是因爲在設置活動的佈局之前不能使用「findViewById」。 由於此方法搜索要在活動佈局中實例化的視圖,並且在您的案例中沒有爲您的活動提供此類佈局,因此失敗。 – akkilis 2012-01-06 10:04:17