3

我正嘗試爲我的類別列表創建自定義適配器。出於某種原因,我無法訪問我的category_item佈局,當我試圖誇大它。這裏是我的代碼:無法訪問我的自定義ArrayAdapter中的R.layout.mylayoutname

public class CategoryAdapter extends ArrayAdapter<Category> { 

    LayoutInflater mInflater; 
    List<Category> list; 

public CategoryAdapter(Context context, int resource, int textViewResourceId, List<Category> objects) { 
    super(context, resource, textViewResourceId, objects); 

    mInflater = LayoutInflater.from(context); 
    list = objects; 
} 

public View getView(int position, View convertView, ViewGroup parent) { 

    final ViewHolder holder; 

    if(convertView==null){ 

     convertView=mInflater.inflate(***resource***, null); 
     holder = new ViewHolder(); 

    } 

    return convertView; 
} 

// Declaring new class ViewHolder 
class ViewHolder{ 
    TextView category_name; 
} 

凡說resource我應該能夠訪問我category_item.xml佈局 - R.layout.category_item。但由於某種原因,我沒有在列表中看到它,我無法訪問它。事實上,我沒有在列表中看到我的任何佈局。

爲什麼會發生這種情況,它如何解決?

+2

檢查你是否有正確的(或任何)R.java導入 – 2013-03-15 12:15:35

+1

在這裏添加你在Activity類中調用適配器的行。 – Sajmon 2013-03-15 12:17:32

+0

@StefandeBruijn是的,顯然我導入了錯誤的R類。不知道它是如何發生的...謝謝!當你第一次回答我的問題時,你能否將它作爲答案發布,以便我可以接受它?再次,非常感謝! – Igal 2013-03-15 12:23:34

回答

12

導入您的packagename.R文件,它會工作。您可能導入了android.R。由於您的資源存在於您的應用程序包中,只需糾正它,它就會起作用。

android.R指代sdk資源。

+0

謝謝!是的,這是問題所在。 – Igal 2013-03-15 12:25:39

+0

是的,我們有時會陷入這些小問題! – 2013-03-15 12:28:57

3

這可能是你的android進口資源包android.R

確保您導入了包資源com.yourpackagename.R。這應該可以解決你的問題。

+0

是的,非常感謝你! – Igal 2013-03-15 12:27:31

2

檢查您的代碼,我認爲您已在代碼中導入android.R。去掉它。

+0

非常感謝,問題解決! – Igal 2013-03-15 12:27:54

1

項目 - >清潔 這重新生成該R文件,這也應該工作。

相關問題