我正在使用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框中输入并调用place api然后解析json数据时。我编写了Place类,然后在列表中添加了place对象。所以请有人告诉我如何显示空文本。 app在arrayadapter.getCount()方法中显示异常。
答案 0 :(得分:0)
您的placeList
永远不会被初始化。
此外,在onCreateView()
中,您应该像这样创建view
:
View view = inflater.inflate(R.layout.fragment_list, container, false);