2014-10-20 103 views
0

編輯:結果我只是不太瞭解選項卡活動...但感謝您的幫助!在setAdapter的空指針異常

我已經搜索了將近一個小時,爲什麼我的代碼在setAdapter中傳遞了NPE。下面是發出NPE(83線和84,誤差處於線84)

ListView cList = (ListView)findViewById(R.id.mylistview); 
cList.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,listitems)); 

「listItems中」 被定義爲

String[] listitems= {"A","b","C","d","E","f"}; 

下面有完整myActivity.java代碼部分:http://pastebin.com/ymiKRUc4

這就是logcat的說:http://pastebin.com/gPZYtXng

我fragment_myactivity.xml只是

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 
    <ListView 
     android:id="@+id/mylistview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 

    </ListView> 
</LinearLayout> 

這是我activity_myactivity.xml

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/pager" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.example.myapp.myActivity" /> 
+0

你確定'cList'不爲空? – tyczj 2014-10-20 18:05:54

+0

「myActivity」的佈局XML是什麼樣的? – 2014-10-20 18:06:27

+0

您應該在這裏複製並粘貼代碼和錯誤消息。 – 2014-10-20 18:08:02

回答

2

myActivity膨脹activity_myactivity.xml其佈局:

setContentView(R.layout.activity_myactivity); 

然而,mylistviewfragment_myactivity.xml。我假設你在一個Fragment子類中膨脹這個XML文件,該子類覆蓋了onCreateView()。這就是你需要把

ListView cList = (ListView)findViewById(R.id.mylistview); 
cList.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,listitems)); 

注意,通過片段膨脹的觀點並不在Activity.onCreate()可用的方法,所以findViewById()將返回null這些意見。

+0

對不起,但我是Android應用程序開發的新手,所以我不知道應該在哪裏膨脹XML ......所有代碼都是由Eclipse/AndroidSDK預生成的,我只是添加了ListView部分。我遵循一個教程來做到這一點(甚至是多個,因爲它不適用於任何一個代碼)我需要做些什麼才能正常工作,而沒有任何特殊的類處理適配器和列表視圖? – virhonestum 2014-10-20 18:26:15

+0

@ user3133603我認爲你正試圖一次性處理太多東西。你有一個'ViewPager'和一個選項卡式導航系統的代碼以及'ListView'的代碼。這對我來說似乎很奇怪。你想達到什麼目的?什麼是你的UI設計? – 2014-10-20 18:29:44

+0

@ user3133603我不確定你的意思是「正常」。你想讓你的界面看起來像什麼? – 2014-10-20 18:30:25