Android 无法在ListFragment中创建自定义ListView
我导入了库[1]: 示例类扩展了Android 无法在ListFragment中创建自定义ListView,android,android-listfragment,Android,Android Listfragment,我导入了库[1]: 示例类扩展了ListActivity和所有工作。 我在扩展列表片段上重新ID,出现错误 public class SurveyGuestsList extends ListFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflat
ListActivity
和所有工作。
我在扩展列表片段
上重新ID,出现错误
public class SurveyGuestsList extends ListFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.loadmore, null);
arrayList = new ArrayList<SurveyGuestsListBean>();
context = getActivity();
new LoadDataTask().execute();
// set a listener to be invoked when the list reaches the end
((LoadMoreListView) getListView())
.setOnLoadMoreListener(new OnLoadMoreListener() {
public void onLoadMore() {
// Do the work to load more items at the end of list
// here
new LoadDataTask().execute();
}
});
return v;
}
伊迪特:
我把代码移到这里,它成功了
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
((LoadMoreListView) getListView())
.setOnLoadMoreListener(new OnLoadMoreListener() {
public void onLoadMore() {
// Do the work to load more items at the end of list here
new LoadDataTask().execute();
}
});
super.onViewCreated(view, savedInstanceState);
}
片段和活动具有不同的生命周期和回调。对于片段,onCreateView用于创建视图,在返回
v
之前,它不会附加到视图层次结构,因此不能在其中调用getListView
。只需创建并返回视图,如下所示
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.loadmore, null);
return v;
}
将其余代码移到或稍后的回调中。片段和活动具有不同的生命周期和回调。对于片段,onCreateView用于创建视图,在返回
v
之前,它不会附加到视图层次结构,因此不能在其中调用getListView
。只需创建并返回视图,如下所示
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.loadmore, null);
return v;
}
将其余代码移到或稍后的回调中。在
onCreateView
中,您正在使用getListView()
。请参阅,getListView()
返回onCreateView
创建的视图。因此,您试图在onCreateView()返回之前使用它。因此,错误“尚未创建内容视图”。
尝试在onCreateView()中使用v
而不是getListView()
在您的onCreateView
中,您正在使用getListView()
。请参阅,getListView()
返回onCreateView
创建的视图。因此,您试图在onCreateView()返回之前使用它。因此,错误“尚未创建内容视图”。
尝试在onCreateView()中使用v
而不是getListView()
下面是ListActivity的post代码示例。除了父类ListFragment不是ListActivity之外,我在代码中不做任何更改,我假设您知道Activity和片段之间的区别。要使活动正常工作,请调用setContentView()为活动提供一个视图。我想你没有设置它我不理解你。我现在有一个片段。我正需要它。我在代码中做错了什么?是的,我的loadmorexml说“呈现问题”@Alex是的,你是对的,视图没有创建。我假设了其他的东西。下面是ListActivity的post代码示例。除了父类ListFragment不是ListActivity之外,我在代码中不做任何更改,我假设您知道Activity和片段之间的区别。要使活动正常工作,请调用setContentView()为活动提供一个视图。我想你没有设置它我不理解你。我现在有一个片段。我正需要它。我在代码中做错了什么?是的,我的loadmorexml说“呈现问题”@Alex是的,你是对的,视图没有创建。我在想别的事。
((LoadMoreListView)v).setonLoadMoreListener(...);