1

所以我正在尝试制作一个选项卡式应用程序......但它不断因空指针异常而崩溃。我检查了所有可能导致空指针的变量,我认为我已经缩小了范围。

ListView activeList = (ListView) findViewById(R.id.activelist);
if(activeList == null) {
  Log.e("com.name.app", "activeList null");
}

这将返回一个空值。应该是?我正在使用片段来尝试构建选项卡式布局。这是它引用的xml。

<?xml version="1.0" encoding="utf-8"?>
<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/activelist"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:persistent="true" >    
    </ListView>

</LinearLayout>

感谢您的任何帮助!

编辑:

    super.onCreate(savedInstanceState);
    setContentView(R.layout.tabs_layout);

这就是我的内容视图的样子。

编辑:这就是我的最终代码的样子!

    LayoutInflater inflater = (LayoutInflater)   getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    LinearLayout mContainer = (LinearLayout)     inflater.inflate(R.layout.tab_frag1_layout, null); 
    ListView activeList = (ListView) mContainer.findViewById(R.id.activelist);
4

2 回答 2

4
LinearLayout mContainer = inflater.inflate(R.layout.linear_layout, null); 
ListView activeList = (ListView) mContainer.findViewById(R.id.activelist);

其中 R.layout.linear_layout 是LinearLayout包含您的ListView.

于 2012-09-07T08:36:26.333 回答
1

您是否在活动中引用了 XML 布局?

您可以在 oncreate 方法中执行此操作:

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView.(R.layout.your_XML_file_name);
}
于 2012-09-07T08:21:59.040 回答