Java RecycleView Android崩溃并出现错误:资源ID#0x7f0d00aa类型#0x12无效

Java RecycleView Android崩溃并出现错误:资源ID#0x7f0d00aa类型#0x12无效,java,android,xml,android-recyclerview,Java,Android,Xml,Android Recyclerview,我正在android中实现recycleview适配器,但它抛出错误资源ID#0x7f0d00aa类型#0x12无效 这是我的客户端的卡片布局。\u info\u fragment\u revision\u layout.xml: <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/

我正在android中实现recycleview适配器,但它抛出错误资源ID#0x7f0d00aa类型#0x12无效

这是我的客户端的卡片布局。\u info\u fragment\u revision\u layout.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardElevation="2dp"
        android:layout_margin="7dp"
        android:clickable="true"
        android:focusable="true">

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" android:id="@+id/revMainLayout">

        <!--TOP-->
        <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" android:id="@+id/revRelativeTop">
            <ImageView android:id="@+id/imagePartRevision"
                       android:layout_width="28dp"
                       android:layout_height="28dp"
                       android:scaleType="fitXY"
                       android:layout_marginLeft="7dp" android:layout_marginTop="5dp"
                       android:src="@drawable/ic_indicator_program"/>
            <TextView
                    android:id="@+id/partRevision"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:maxLines="2"
                    android:padding="10dp"
                    android:text="Paper"
                    android:textSize="16sp" android:layout_marginLeft="34dp"/>
            <TextView
                    android:id="@+id/deadlineRevision"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:text="23-04-2016"
                    android:textSize="16sp"
                    android:padding="10dp"
                    android:layout_marginRight="7dp"/>

        </RelativeLayout>


        <!--MIDDLE-->
        <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" android:id="@+id/revLinearMiddle">
            <View
                    android:id="@+id/divider1"
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:background="#a4b9adba"/>
            <ListView
                    android:layout_width="wrap_content"
                    android:layout_height="120dp"
                    android:id="@+id/listViewRevision"/>
            <View
                    android:id="@+id/divider2"
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:background="#a4b9adba"/>
        </LinearLayout>

        <!--BOTTOM-->
        <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" android:id="@+id/revRelativeBottom">

            <TextView
                    android:id="@+id/statusRevision"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_toLeftOf="@+id/statusRevisionIndicator"
                    android:maxLines="2"
                    android:padding="10dp"
                    android:text="On Progress"
                    android:textSize="16sp"/>

            <ImageView
                    android:id="@+id/statusRevisionIndicator"
                    android:layout_width="28dp"
                    android:layout_height="28dp"
                    android:layout_alignBottom="@+id/statusRevision"
                    android:layout_alignParentRight="true"
                    android:layout_below="@id/divider"
                    android:layout_marginRight="7dp" android:layout_centerVertical="true"
                    android:layout_marginBottom="5dp" android:src="@drawable/ic_indicator_not_finished"/>
        </RelativeLayout>
    </LinearLayout>
</android.support.v7.widget.CardView>
package com.putraxor.prola.skripsi.client.activity.profileui;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.putraxor.prola.skripsi.R;
import com.putraxor.prola.skripsi.pojo.Revisi;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * Created by Putra on 27/03/2016.
 */
public class RevisionRecycleCardsAdapter extends RecyclerView.Adapter<RevisionRecycleCardsAdapter.CardViewHolder> {

    private ArrayList<Revisi> revision_list;
    Context context;
    public static class CardViewHolder extends RecyclerView.ViewHolder{
        ImageView imagePartRevision;
        ImageView statusRevisionIndicator;
        TextView partRevision;
        TextView deadlineRevision;
        TextView statusRevision;
        ListView listViewRevision;

        public CardViewHolder(View itemView) {
            super(itemView);
            imagePartRevision = (ImageView)itemView.findViewById(R.id.imagePartRevision);
            statusRevisionIndicator = (ImageView)itemView.findViewById(R.id.statusRevisionIndicator);
            partRevision = (TextView)itemView.findViewById(R.id.partRevision);
            deadlineRevision = (TextView)itemView.findViewById(R.id.deadlineRevision);
            statusRevision = (TextView)itemView.findViewById(R.id.statusRevision);
            listViewRevision = (ListView)itemView.findViewById(R.id.listViewRevision);
        }
    }

    public RevisionRecycleCardsAdapter(ArrayList<Revisi> revision) {
        this.revision_list = revision;
    }

    @Override
    public CardViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        this.context = parent.getContext();
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.client_info_fragment_revision_layout, parent, false);
        CardViewHolder cardViewHolder = new CardViewHolder(view);
        return cardViewHolder;
    }

    @Override
    public void onBindViewHolder(final CardViewHolder holder, final int listPosition) {
        Revisi rev = revision_list.get(listPosition);
        int srcImagePartRevision = rev.getBagian().equalsIgnoreCase("Paper") ? R.drawable.ic_indicator_paper : R.drawable.ic_indicator_program;
        int srcStateIndicator = rev.isSelesai() ? R.drawable.ic_indicator_finished : R.drawable.ic_indicator_not_finished;
        String status = rev.isSelesai()?"Revisions Finished" : "On Process";
        holder.imagePartRevision.setImageResource(srcImagePartRevision);
        holder.partRevision.setText(rev.getBagian());
        holder.deadlineRevision.setText(rev.getDeadline());
        holder.statusRevision.setText(status);
        holder.statusRevisionIndicator.setImageResource(srcStateIndicator);
        String[] values = rev.getRevisi();
        ArrayList<String> list = new ArrayList<String>();
        for (int i = 0; i < values.length; ++i) {
            list.add(values[i]);
        }
        StableArrayAdapter adapter = new StableArrayAdapter(this.context, R.id.listViewRevision, list);
        holder.listViewRevision.setAdapter(adapter);
    }

    @Override
    public int getItemCount() {
        return revision_list.size();
    }

    private class StableArrayAdapter extends ArrayAdapter<String> {
        HashMap<String, Integer> mIdMap = new HashMap<String, Integer>();
        public StableArrayAdapter(Context context, int textViewResourceId, List<String> objects) {
            super(context, textViewResourceId, objects);
            for (int i = 0; i < objects.size(); ++i) {
                mIdMap.put(objects.get(i), i);
            }
        }

        @Override
        public long getItemId(int position) {
            String item = getItem(position);
            return mIdMap.get(item);
        }

        @Override
        public boolean hasStableIds() {
            return true;
        }
    }
}

这是我的适配器的代码RevisionRecycleCardsAdapter.java

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardElevation="2dp"
        android:layout_margin="7dp"
        android:clickable="true"
        android:focusable="true">

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" android:id="@+id/revMainLayout">

        <!--TOP-->
        <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" android:id="@+id/revRelativeTop">
            <ImageView android:id="@+id/imagePartRevision"
                       android:layout_width="28dp"
                       android:layout_height="28dp"
                       android:scaleType="fitXY"
                       android:layout_marginLeft="7dp" android:layout_marginTop="5dp"
                       android:src="@drawable/ic_indicator_program"/>
            <TextView
                    android:id="@+id/partRevision"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:maxLines="2"
                    android:padding="10dp"
                    android:text="Paper"
                    android:textSize="16sp" android:layout_marginLeft="34dp"/>
            <TextView
                    android:id="@+id/deadlineRevision"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:text="23-04-2016"
                    android:textSize="16sp"
                    android:padding="10dp"
                    android:layout_marginRight="7dp"/>

        </RelativeLayout>


        <!--MIDDLE-->
        <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" android:id="@+id/revLinearMiddle">
            <View
                    android:id="@+id/divider1"
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:background="#a4b9adba"/>
            <ListView
                    android:layout_width="wrap_content"
                    android:layout_height="120dp"
                    android:id="@+id/listViewRevision"/>
            <View
                    android:id="@+id/divider2"
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:background="#a4b9adba"/>
        </LinearLayout>

        <!--BOTTOM-->
        <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" android:id="@+id/revRelativeBottom">

            <TextView
                    android:id="@+id/statusRevision"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_toLeftOf="@+id/statusRevisionIndicator"
                    android:maxLines="2"
                    android:padding="10dp"
                    android:text="On Progress"
                    android:textSize="16sp"/>

            <ImageView
                    android:id="@+id/statusRevisionIndicator"
                    android:layout_width="28dp"
                    android:layout_height="28dp"
                    android:layout_alignBottom="@+id/statusRevision"
                    android:layout_alignParentRight="true"
                    android:layout_below="@id/divider"
                    android:layout_marginRight="7dp" android:layout_centerVertical="true"
                    android:layout_marginBottom="5dp" android:src="@drawable/ic_indicator_not_finished"/>
        </RelativeLayout>
    </LinearLayout>
</android.support.v7.widget.CardView>
package com.putraxor.prola.skripsi.client.activity.profileui;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.putraxor.prola.skripsi.R;
import com.putraxor.prola.skripsi.pojo.Revisi;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * Created by Putra on 27/03/2016.
 */
public class RevisionRecycleCardsAdapter extends RecyclerView.Adapter<RevisionRecycleCardsAdapter.CardViewHolder> {

    private ArrayList<Revisi> revision_list;
    Context context;
    public static class CardViewHolder extends RecyclerView.ViewHolder{
        ImageView imagePartRevision;
        ImageView statusRevisionIndicator;
        TextView partRevision;
        TextView deadlineRevision;
        TextView statusRevision;
        ListView listViewRevision;

        public CardViewHolder(View itemView) {
            super(itemView);
            imagePartRevision = (ImageView)itemView.findViewById(R.id.imagePartRevision);
            statusRevisionIndicator = (ImageView)itemView.findViewById(R.id.statusRevisionIndicator);
            partRevision = (TextView)itemView.findViewById(R.id.partRevision);
            deadlineRevision = (TextView)itemView.findViewById(R.id.deadlineRevision);
            statusRevision = (TextView)itemView.findViewById(R.id.statusRevision);
            listViewRevision = (ListView)itemView.findViewById(R.id.listViewRevision);
        }
    }

    public RevisionRecycleCardsAdapter(ArrayList<Revisi> revision) {
        this.revision_list = revision;
    }

    @Override
    public CardViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        this.context = parent.getContext();
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.client_info_fragment_revision_layout, parent, false);
        CardViewHolder cardViewHolder = new CardViewHolder(view);
        return cardViewHolder;
    }

    @Override
    public void onBindViewHolder(final CardViewHolder holder, final int listPosition) {
        Revisi rev = revision_list.get(listPosition);
        int srcImagePartRevision = rev.getBagian().equalsIgnoreCase("Paper") ? R.drawable.ic_indicator_paper : R.drawable.ic_indicator_program;
        int srcStateIndicator = rev.isSelesai() ? R.drawable.ic_indicator_finished : R.drawable.ic_indicator_not_finished;
        String status = rev.isSelesai()?"Revisions Finished" : "On Process";
        holder.imagePartRevision.setImageResource(srcImagePartRevision);
        holder.partRevision.setText(rev.getBagian());
        holder.deadlineRevision.setText(rev.getDeadline());
        holder.statusRevision.setText(status);
        holder.statusRevisionIndicator.setImageResource(srcStateIndicator);
        String[] values = rev.getRevisi();
        ArrayList<String> list = new ArrayList<String>();
        for (int i = 0; i < values.length; ++i) {
            list.add(values[i]);
        }
        StableArrayAdapter adapter = new StableArrayAdapter(this.context, R.id.listViewRevision, list);
        holder.listViewRevision.setAdapter(adapter);
    }

    @Override
    public int getItemCount() {
        return revision_list.size();
    }

    private class StableArrayAdapter extends ArrayAdapter<String> {
        HashMap<String, Integer> mIdMap = new HashMap<String, Integer>();
        public StableArrayAdapter(Context context, int textViewResourceId, List<String> objects) {
            super(context, textViewResourceId, objects);
            for (int i = 0; i < objects.size(); ++i) {
                mIdMap.put(objects.get(i), i);
            }
        }

        @Override
        public long getItemId(int position) {
            String item = getItem(position);
            return mIdMap.get(item);
        }

        @Override
        public boolean hasStableIds() {
            return true;
        }
    }
}
package com.putraxor.prola.skripsi.client.activity.profileui;
导入android.content.Context;
导入android.support.v7.widget.RecyclerView;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.ImageView;
导入android.widget.ListView;
导入android.widget.TextView;
导入com.putraxor.prola.skripsi.R;
导入com.putraxor.prola.skripsi.pojo.Revisi;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
/**
*由Putra于2016年3月27日创建。
*/
公共类RevisionRecycleCardsAdapter扩展了RecyclerView.Adapter{
私有阵列列表修订列表;
语境;
公共静态类CardViewHolder扩展了RecyclerView.ViewHolder{
ImageView imagePartRevision;
图像视图状态修改指示器;
文本视图部分修订;
文本视图死线修改;
文本视图状态修改;
ListView listViewRevision;
公共名片夹(查看项目视图){
超级(项目视图);
imagePartRevision=(ImageView)itemView.findViewById(R.id.imagePartRevision);
statusRevisionIndicator=(ImageView)itemView.findViewById(R.id.statusRevisionIndicator);
partRevision=(TextView)itemView.findViewById(R.id.partRevision);
deadlineRevision=(TextView)itemView.findViewById(R.id.deadlineRevision);
statusRevision=(TextView)itemView.findViewById(R.id.statusRevision);
listViewRevision=(ListView)itemView.findViewById(R.id.listViewRevision);
}
}
公共修订回收利用目录(ArrayList修订版){
此.revision\u列表=修订;
}
@凌驾
公共卡ViewHolder onCreateViewHolder(视图组父级,int-viewType){
this.context=parent.getContext();
View View=LayoutInflater.from(parent.getContext()).flate(R.layout.client\u info\u fragment\u revision\u layout,parent,false);
CardViewHolder CardViewHolder=新的CardViewHolder(视图);
退换证持有人;
}
@凌驾
BindViewHolder上的公共无效(最终CardViewHolder,最终int列表位置){
Revisi rev=revision\u list.get(listPosition);
int srcImagePartRevision=rev.getBagian().equalsIgnoreCase(“纸张”)?R.drawable.ic_indicator_纸张:R.drawable.ic_indicator_程序;
int srcStateIndicator=rev.isSelesai()?R.drawable.ic_indicator_finished:R.drawable.ic_indicator_not_finished;
字符串状态=rev.isSelesai()?“修订完成”:“正在进行”;
holder.imagePartRevision.setImageResource(srcImagePartRevision);
holder.partRevision.setText(版本getBagian());
holder.deadlineRevision.setText(rev.getDeadline());
holder.statusRevision.setText(状态);
holder.statusRevisionIndicator.setImageResource(srcStateIndicator);
字符串[]值=rev.getRevisi();
ArrayList=新建ArrayList();
对于(int i=0;i
在中更改代码

  @Override
public CardViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

    LayoutInflater inflater = (LayoutInflater) parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.R.layout.client_info_fragment_revision_layout, parent, false);
    CardViewHolder holder = new CardViewHolder (view);
}

这只是为了调试目的:

如果您使用的是Android studio,请打开文件夹下的R.java

build->generated->source->r->debug->yourpackagename->r.java

然后在文件中搜索0x7f0d00aa;就像

public static final int TextView01=0x7f0d00aa;

在资源文件夹下的xml文件中搜索相应的ID。然后检查XML内容语法、命名、源等。

发布日志并检查引发错误的行号。