2015-02-12 25 views
-1

我使用Google Place API查找最近的地方。我在两个选项卡上显示地图和列表。我做了两个片段。在一个我正在显示地图,并在第二个我正在使用列表。我在操作栏上使用了editext框。当我运行我的应用程序时,它崩溃并在setListAdapter处发出nullpointer异常。如何在列表片段中显示空文本?

这是我ListFragment文件

import android.support.v4.app.ListFragment; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.TextView; 

import com.aquib.android.place.Place; 
import com.aquib.android.place.PlaceAdapter; 
import com.aquib.android.place.R; 

import java.util.List; 

/** 
* Created by dell on 2/9/2015. 
*/ 
public class ListItemFragment extends ListFragment{ 

    private PlaceAdapter adapter; 
    List<Place> placeList; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_list, null); 
     TextView emptyTextView = (TextView) view.findViewById(android.R.id.empty); 
     emptyTextView.setTextSize(10); 
     return view; 
    } 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     adapter = new PlaceAdapter(getActivity(), placeList); 
     setListAdapter(adapter); 
    } 
} 

和我fragment_list.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:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@android:id/list" /> 

    <TextView android:id="@id/android:empty" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#FF0000" 
     android:text="No data"/> 

</LinearLayout> 

当我将给出的EditText框输入并调用API的地方,然后解析JSON数据。我写了Place类,然后在列表中添加地点对象。所以请别人告诉我如何显示空文本。应用在arrayadapter.getCount()方法中显示异常。

+5

getListView()setEmptyView(emptyTextView); – GVillani82 2015-02-12 09:16:26

回答

0

您的placeList从未初始化。

而且,在onCreateView(),你应该创建view这样的:

View view = inflater.inflate(R.layout.fragment_list, container, false); 
相关问题