에서 위치를 얻을이 내 클래스입니다 : 내가 MovieViewHolder onCreateViewHolder 클래스 매개 변수의 패스 INT 위치에있을 때 하지 이잖아 작품 :(여기내가 recyclerview.Adapter 클래스가 RecyclerView.Adapter
public class Main_Recycle_Adapter extends RecyclerView.Adapter<Main_Recycle_Adapter.MovieViewHolder> {
List<Main> movies = Collections.emptyList();
LayoutInflater layoutInflater;
Context context;
public Main_Recycle_Adapter(Context context, List<Main> movies){
this.context = context;
layoutInflater = LayoutInflater.from(context);
this.movies = movies;
}
//;;;;;;;;;;;;;;
@Override
public int getItemCount() {
return movies.size();
}
@Override
public long getItemId(int position) {
return position;
}
//[[[[[[[[[[[[[[[[[[
@Override
public MovieViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View row;
if ((position % 2) == 0){
row = layoutInflater.inflate(R.layout.grid_list3, parent, false);}
else{row = layoutInflater.inflate(R.layout.grid_list3, null);}
MovieViewHolder holder = new MovieViewHolder(row);
return holder;
}
@Override
public void onBindViewHolder(MovieViewHolder holder, int position) {
Main thisMovie = movies.get(position);
holder.tozih.setText(thisMovie.getName());
holder.tablooo.setImageResource(context.getResources().getIdentifier(thisMovie.getLogo(), "mipmap", context.getPackageName()));
}
public class MovieViewHolder extends RecyclerView.ViewHolder {
private TextView tozih;
private ImageView tablooo;
public MovieViewHolder(View itemView) {
super(itemView);
tozih = (TextView) itemView.findViewById(R.id.textView1);
tablooo = (ImageView) itemView.findViewById(R.id.imageView1);
}
}
}
내가 원하는 심지어 홀수 행에 대한 위치 : 오류 를 해결할 수와
if ((position % 2) == 0){
row = layoutInflater.inflate(R.layout.grid_list3, parent, false);}
else{row = layoutInflater.inflate(R.layout.grid_list3, null);}
하지만 위치는 난이 경우에는 무엇을 할 수 있는지 여전히 빨간색 사전
에서 덕분? 나는이 작업이 완료있어 알렉스에편집 감사 :
@Override
public int getItemViewType(int position)
{ int viewType ;
if((position % 2) == 0)
viewType = 0;
else
viewType =1;
return viewType; }
//[[[[[[[[[[[[[[[[[[
@Override
public MovieViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
View row;
if (viewType == 0){
row = layoutInflater.inflate(R.layout.grid_list2, parent, false);}
else
{ row = layoutInflater.inflate(R.layout.grid_list3, parent, false);}
그냥
'position'에 직접 액세스 할 수 없습니다. 대신에'getItemId()'메서드를 사용하십시오. 'getItemId()'는 위치를 얻기 위해서도 수정이 필요하다. –
나는 이것을 테스트했지만 ... 작동하지 않는다. –