2013-07-27 20 views
11

我想在片段使用的ListView。但我得到这个错误:致命异常:main java.lang.RuntimeException:内容具有ID属性'android.R.id.list'的视图不是ListView类
我的代码:致命异常:主要了java.lang.RuntimeException:内容有鉴于与id属性“android.R.id.list”不是一个ListView类

我ListFragment:

public class whitelist_list extends ListFragment { 


    Context mContext; 

    @Override 
    public void onAttach(Activity activity) { 
     mContext = activity; 
     Log.i("Event", "onAttach called"); 
     super.onAttach(activity); 
    } 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 
    } 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    { 
     String[] values = new String[] { "Android", "iPhone", "WindowsMobile", 
       "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", 
       "Linux", "OS/2" }; 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), 
       android.R.layout.simple_list_item_1, values); 
     setListAdapter(adapter); 
     return inflater.inflate(R.layout.whitelist_content, container, false); 
    } 

    @Override 
    public void onListItemClick(ListView l, View v, int position, long id) { 
     // Do something with the data 
    } 

} 


whitelist_list newFragment = new whitelist_list(); 
fragmentManager.beginTransaction() 
.replace(R.id.content_frame, newFragment) 
.commit(); 

编辑: 解决方案:与Android声明列表视图:ID = “@ ID /安卓列表”

+2

如果您在布局具有的ListView然后确保你有一个'机器人申报的ListView:ID =“@ ID/android:list“'id –

回答

17

如果使用ListActivity/Fragment,则布局中ListView的ID应为@android:id/list,因此: 在您的whitelist_list.xml(whatever_activityname .XML)在你的ListView的ID更改为机器人:ID = “@机器人:ID /列表”

<ListView android:id="@android:id/list" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 
1

我曾经有过这个错误。出于某种原因,布局的XML已被修改,以致其中一个组件的类型错误。进入xml并查找不属于该项目的'android.R.id.list'。我不知道它是如何改变的,但我想也许在使用GUI编辑器时,我改变了一些本来不应该有的东西。如果您没有看到它,请发布布局

+0

那帮了我。但是我有两个ListFragments,有两个布局文件,每个文件都需要带有ID @android:id/list的ListView。我在一个文件中将ListFragment更改回正常的Fragment,并自己添加了ListView。 – Micky

相关问题