内容必须具有id属性为';android.R.id.list';
XML内容必须具有id属性为';android.R.id.list';,android,listview,exception,android-listview,Android,Listview,Exception,Android Listview,XML 爪哇 public类UserDetails扩展了ListFragment{ 阵列适配器; ArrayList userIndex=新的ArrayList(); @凌驾 创建视图上的公共视图(布局、充气机、视图组容器、, Bundle savedInstanceState){ 查看android=充气机。充气(R.layout.users\u选项卡,容器,false); adapter=new ArrayAdapter(inflater.getContext(),R.layout.si
爪哇
public类UserDetails扩展了ListFragment{
阵列适配器;
ArrayList userIndex=新的ArrayList();
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
查看android=充气机。充气(R.layout.users\u选项卡,容器,false);
adapter=new ArrayAdapter(inflater.getContext(),R.layout.single\u user\u chat\u选项卡,userIndex);
setListAdapter(适配器);
返回android;
}
}
当我执行程序时,它会显示运行时异常。但我已经准备好了带有id列表的listview。我不知道为什么会出现例外。请告诉我为什么它会抛出异常。我已经尝试了所有的解决方案,但仍然遇到相同的问题。
public class UserDetails extends ListFragment {
ArrayAdapter<String> adapter;
ArrayList<String> userIndex = new ArrayList<String>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View android = inflater.inflate(R.layout.users_tab, container, false);
adapter = new ArrayAdapter<String>(inflater.getContext(),R.layout.single_user_chat_tab,userIndex);
setListAdapter(adapter);
return android;
}
}
我认为在onCreateView中返回自定义视图之前,不能调用setListAdapter。我看到3种解决方案
不工作。我的活动类扩展了ListFragment。@AndroidLearner现在检查,来源:当使用ListActivity或ListFragment时,我们的布局xml中必须有一个id为=@id/android:list的ListView。因为ListActivity和ListFragment在内部使用此id创建列表,而这是getListView()引用或返回的列表。也发布您的
ListFragment
。您是否尝试清理和重建项目?发布您的代码和XMLyes我尝试了所有替代方法。users\u tab.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="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
public class UserDetails extends ListFragment {
ArrayAdapter<String> adapter;
ArrayList<String> userIndex = new ArrayList<String>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View android = inflater.inflate(R.layout.users_tab, container, false);
adapter = new ArrayAdapter<String>(inflater.getContext(),R.layout.single_user_chat_tab,userIndex);
setListAdapter(adapter);
return android;
}
}
<ListView
android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="match_parent" />