2013-07-27 46 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

相關問題