setAdapter处的空指针异常

时间:2014-10-20 18:04:26

标签: android listview nullpointerexception

编辑:事实证明我对Tabbed Activities的了解不够......但感谢您的帮助!

我已经搜索了近一个小时了,为什么我的代码在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));

&#34;时listItems&#34;定义为

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" />

1 个答案:

答案 0 :(得分:2)

myActivity为其布局夸大了activity_myactivity.xml

setContentView(R.layout.activity_myactivity);

但是,mylistview位于fragment_myactivity.xml。我假设您在覆盖Fragment的{​​{1}}子类中夸大此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()返回。