2011-10-11 81 views
5

如果我得到的錯誤「android.content.res.Resources $ NotFoundException:資源ID#0x7f050007型#0×12是無效的」我能找到一些這方面的資源是什麼,如果我知道它ID?的Android查找資源

 ListView list = (ListView)findViewById(R.id.messages_list_view); 
     list.setAdapter(new ArrayAdapter<String>(context, 
     R.layout.messages_list, headers)); 

messages_list.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout android:id="@+id/messages_list_layout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <ListView android:id="@+id/messages_list_view" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
</LinearLayout> 
+2

請公佈源。 –

+0

你是說你不使用R.id?你能告訴我爲什麼嗎? –

+0

不知道你是否試圖實施,我們如何建議? –

回答

2

您可以使用搜索功能在Eclipse中,搜索"0x7f050007"或去projectfolder/gen/path/R.java包含您的資源。

你會發現這樣的事情:

public static final int lineItem=0x7f07001c; 

然後搜索(在這個例子中)lineItem與日食搜索功能。它會帶你到代碼中的資源。

+0

感謝指向R.java – Sergey

0

檢查進口(在類文件的頂部)。也許你進口

android.R 

(提供接入平臺的資源),而不是

{your_package_name}.R 

(你也可以留空)。

5

我在一個片段使用ListView控件時得到這個錯誤。

通過移動setAdapter線片段的onViewCreated功能解決。 (有意義的是,在創建視圖之前,ListView是無效的)。

等你拿:

public void onViewCreated(View view,Bundle savedInstanceState){ 
    ListView list = (ListView) getView().findViewById(R.id.thelist); 
    list.setAdapter(mAdapter); 
} 
5

對於那些人,其他提到的解決方案不起作用。

我這樣愚蠢的錯誤: -

setContentView(R.id.something); 

而不是

setContentView(R.layout.something); 

糾正了,和錯誤走了:d