Java 始终使用相同id的RecyclerView子视图

Java 始终使用相同id的RecyclerView子视图,java,android,xml,android-layout,android-recyclerview,Java,Android,Xml,Android Layout,Android Recyclerview,我的问题 我的RecyclerView中的所有视图,我指的是元素(TextView和ImageView…)显示良好,正常,但当我想列出RecyclerView中的所有项目时: for(int i=0;i<recyclerView.getChildCount();i++){ ids=ids+"-"+recyclerView.getChildAt(i).getId(); } getData()返回一个列表,此代码位于onCreateView中 教师列表管理员 package wan.

我的问题 我的RecyclerView中的所有视图,我指的是元素(TextView和ImageView…)显示良好,正常,但当我想列出RecyclerView中的所有项目时:

for(int i=0;i<recyclerView.getChildCount();i++){
    ids=ids+"-"+recyclerView.getChildAt(i).getId();
}
getData()返回一个列表,此代码位于onCreateView中 教师列表管理员

package wan.wanmarcos.views.adapters;

import android.content.Context;

import android.support.v7.widget.RecyclerView;
import android.text.Html;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.Toast;

import com.squareup.picasso.Picasso;

import java.util.Collections;
import java.util.List;
import java.util.Locale;

import wan.wanmarcos.R;
import wan.wanmarcos.managers.ItemAdapterListener;
import wan.wanmarcos.managers.ViewHolderSetters;
import wan.wanmarcos.models.Teacher;
import wan.wanmarcos.utils.Constants;
import wan.wanmarcos.views.widgets.CircleTransform;
public class TeacherListAdapter extends RecyclerView.Adapter<TeacherListAdapter.TeacherHolder> {
    private LayoutInflater inflater;
    private List<Teacher> teachers= Collections.emptyList();
    private ItemAdapterListener itemAdapterListener;
    public TeacherListAdapter(Context context,List<Teacher> teachers){
        inflater= LayoutInflater.from(context);
        this.teachers=teachers;
    }
    @Override
    public TeacherHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view=inflater.inflate(Constants.TEACHER_NEW_ITEM, parent, false);
        TeacherHolder teacherCustomer = new TeacherHolder(view);
        return teacherCustomer;
    }

    @Override
    public void onBindViewHolder(TeacherHolder holder, int position) {
        Teacher teacher=teachers.get(position);
        holder.setElements(teacher);
    }

    public void setListener(ItemAdapterListener listener){
        this.itemAdapterListener =listener;
    }

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

    public class  TeacherHolder extends RecyclerView.ViewHolder implements ViewHolderSetters<Teacher>,View.OnClickListener{
        private TextView teacherName;
        private RatingBar teacherRating;
        private ImageView teacherImage;
        private TextView teacherCourses;
        private TextView teacherAssumptions;
        private Teacher current;
        public TeacherHolder(View itemView) {
            super(itemView);
            itemView.setOnClickListener(this);
            teacherName= (TextView) itemView.findViewById(R.id.teacher_item_name);
            teacherRating=(RatingBar)itemView.findViewById(R.id.teacher_item_ratingbar);
            teacherImage=(ImageView)itemView.findViewById(R.id.teacher_item_picture);
            teacherCourses=(TextView)itemView.findViewById(R.id.teacher_item_courses);
            teacherAssumptions=(TextView)itemView.findViewById(R.id.teacher_item_faculties);
        }

        @Override
        public void setElements(Teacher elements) {
            current=elements;
            teacherName.setText(elements.getName());
            teacherRating.setRating(elements.getRaiting());
            teacherCourses.setText(itemView.getResources().getString(R.string.teacher_capabilities)+ elements.getFaculties());
            teacherAssumptions.setText(itemView.getResources().getString(R.string.teacher_ped) + elements.getDescription());
            Picasso.with(itemView.getContext()).load(elements.getImageUrl()).transform(new CircleTransform()).into(teacherImage);
        }

        @Override
        public void onClick(View v) {

            //itemAdapterListener.itemClicked(v,current);
        }
    }
}
包wan.wanmarcos.views.adapters;
导入android.content.Context;
导入android.support.v7.widget.RecyclerView;
导入android.text.Html;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ImageView;
导入android.widget.RatingBar;
导入android.widget.TextView;
导入android.widget.Toast;
导入com.squareup.picasso.picasso;
导入java.util.Collections;
导入java.util.List;
导入java.util.Locale;
进口wan.wanmarcos.R;
导入wan.wanmarcos.managers.ItemAdapterListener;
导入wan.wanmarcos.managers.ViewHolderSetters;
导入wan.wanmarcos.models.Teacher;
导入wan.wanmarcos.utils.Constants;
导入wan.wanmarcos.views.widgets.circlettransform;
公共类TeacherListAdapter扩展了RecyclerView.Adapter{
私人充气机;
private List teachers=Collections.emptyList();
私有项适配器列表器项适配器列表器;
公共教师列表适配器(上下文,教师列表){
充气器=充气器。从(上下文);
这就是:教师=教师;
}
@凌驾
public TeacherHolder onCreateViewHolder(视图组父级,int-viewType){
视图=充气器。充气(常量。教师\新\项,父项,false);
教师支架教师客户=新教师支架(视图);
返回教师客户;
}
@凌驾
BindViewHolder上的公共无效(教师持有者,内部位置){
教师=教师。获取(位置);
持有者。设置元素(教师);
}
公共void setListener(ItemAdapterListener侦听器){
this.itemAdapterListener=侦听器;
}
@凌驾
public int getItemCount(){
返回教师。大小();
}
公共类TeacherHolder扩展了RecyclerView.ViewHolder实现了ViewHolderSettings、View.OnClickListener{
私有文本视图教师姓名;
私人评级;教师评级;
私人图像查看教师图像;
私人TextView教师课程;
私人文本视图教师;
私人教师流动;
公共教师持有者(查看项目视图){
超级(项目视图);
setOnClickListener(这个);
teacherName=(TextView)itemView.findViewById(R.id.teacher\u item\u name);
teacherRating=(分级栏)itemView.findViewById(R.id.teacher\u item\u分级栏);
teacherImage=(ImageView)itemView.findViewById(R.id.teacher\u item\u picture);
teacherCourses=(TextView)itemView.findViewById(R.id.teacher\u item\u courses);
教师假设=(TextView)itemView.findViewById(R.id.teacher\u item\u faculties);
}
@凌驾
公共元素(教师元素){
电流=元件;
setText(elements.getName());
teacherRating.setRating(elements.getRaiting());
teacherCourses.setText(itemView.getResources().getString(R.string.teacher_能力)+elements.getFaculties());
setext(itemView.getResources().getString(R.string.teacher_-ped)+elements.getDescription());
Picasso.with(itemView.getContext()).load(elements.getImageUrl()).transform(new CircletTransform()).into(teacherImage);
}
@凌驾
公共void onClick(视图v){
//itemAdapterListener.itemClicked(v,当前);
}
}
}
我想要的是:为什么我的RecyclerVIew的子项是布局容器? 我需要有人帮我谢谢

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
    android:layout_width="wrap_content"
    android:id="@+id/generic_listView"
    android:layout_height="wrap_content"
    style="@style/GenericListItem">
</android.support.v7.widget.RecyclerView>
</RelativeLayout>
teacherListAdapter=new TeacherListAdapter(getActivity(),getData());
    teacherListAdapter.setListener(this);
    recyclerView.addItemDecoration(new RecyclerViewDivider(getActivity()));
    recyclerView.setAdapter(teacherListAdapter);
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    recyclerView.addOnItemTouchListener(new RecyclerViewClickListener(getActivity(), recyclerView, new RecyclerViewClickListener.OnItemClickListener() {
        @Override
        public void onItemClick(View view, int position) {
            Log.d("D", view.getId() + "-" + position);
        }
    }));
package wan.wanmarcos.views.adapters;

import android.content.Context;

import android.support.v7.widget.RecyclerView;
import android.text.Html;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.Toast;

import com.squareup.picasso.Picasso;

import java.util.Collections;
import java.util.List;
import java.util.Locale;

import wan.wanmarcos.R;
import wan.wanmarcos.managers.ItemAdapterListener;
import wan.wanmarcos.managers.ViewHolderSetters;
import wan.wanmarcos.models.Teacher;
import wan.wanmarcos.utils.Constants;
import wan.wanmarcos.views.widgets.CircleTransform;
public class TeacherListAdapter extends RecyclerView.Adapter<TeacherListAdapter.TeacherHolder> {
    private LayoutInflater inflater;
    private List<Teacher> teachers= Collections.emptyList();
    private ItemAdapterListener itemAdapterListener;
    public TeacherListAdapter(Context context,List<Teacher> teachers){
        inflater= LayoutInflater.from(context);
        this.teachers=teachers;
    }
    @Override
    public TeacherHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view=inflater.inflate(Constants.TEACHER_NEW_ITEM, parent, false);
        TeacherHolder teacherCustomer = new TeacherHolder(view);
        return teacherCustomer;
    }

    @Override
    public void onBindViewHolder(TeacherHolder holder, int position) {
        Teacher teacher=teachers.get(position);
        holder.setElements(teacher);
    }

    public void setListener(ItemAdapterListener listener){
        this.itemAdapterListener =listener;
    }

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

    public class  TeacherHolder extends RecyclerView.ViewHolder implements ViewHolderSetters<Teacher>,View.OnClickListener{
        private TextView teacherName;
        private RatingBar teacherRating;
        private ImageView teacherImage;
        private TextView teacherCourses;
        private TextView teacherAssumptions;
        private Teacher current;
        public TeacherHolder(View itemView) {
            super(itemView);
            itemView.setOnClickListener(this);
            teacherName= (TextView) itemView.findViewById(R.id.teacher_item_name);
            teacherRating=(RatingBar)itemView.findViewById(R.id.teacher_item_ratingbar);
            teacherImage=(ImageView)itemView.findViewById(R.id.teacher_item_picture);
            teacherCourses=(TextView)itemView.findViewById(R.id.teacher_item_courses);
            teacherAssumptions=(TextView)itemView.findViewById(R.id.teacher_item_faculties);
        }

        @Override
        public void setElements(Teacher elements) {
            current=elements;
            teacherName.setText(elements.getName());
            teacherRating.setRating(elements.getRaiting());
            teacherCourses.setText(itemView.getResources().getString(R.string.teacher_capabilities)+ elements.getFaculties());
            teacherAssumptions.setText(itemView.getResources().getString(R.string.teacher_ped) + elements.getDescription());
            Picasso.with(itemView.getContext()).load(elements.getImageUrl()).transform(new CircleTransform()).into(teacherImage);
        }

        @Override
        public void onClick(View v) {

            //itemAdapterListener.itemClicked(v,current);
        }
    }
}