2015-02-12 46 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); 
相關問題