Я приложил 2 изображения моего приложения, первое - нормальное изображение. Но когда я прокручиваю recyclerView
, данные меняются, посмотрите на это второе изображение.
Вот когда это нормально ![enter image description here](https://i.stack.imgur.com/PDbI1.png)
ПослеЯ прокручиваю вверх и вниз ![enter image description here](https://i.stack.imgur.com/lglD4.png)
вот мой код MainActivity.java
public class MainActivity extends AppCompatActivity {
private final String android_versions[]={
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20",
"14",
"15",
"16",
"17",
"18",
"19",
"20"
};
RecyclerView recyclerView;
ItemAdapter itemAdapter;
LinearLayoutManager linearLayoutManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recylerview);
itemAdapter = new ItemAdapter(MainActivity.this,android_versions);
linearLayoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(itemAdapter);
recyclerView.setHasFixedSize(true);
recyclerView.setNestedScrollingEnabled(false);
}
}
Вот код адаптера Recylerview
public class ItemAdapter extends RecyclerView.Adapter<ItemAdapter.MyViewHolder> {
Context mcontext;
String[] data;
int counter = 1;
public ItemAdapter(Context mcontext, String[] data) {
this.mcontext = mcontext;
this.data = data;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mcontext).inflate(R.layout.itemview, parent, false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.textView.setText(data[position]);
if (counter == 1) {
holder.textView.setBackgroundColor(Color.RED);
counter = 2;
holder.textView.setText("1");
} else if (counter == 2) {
holder.textView.setBackgroundColor(Color.GREEN);
counter = 3;
holder.textView.setText("2");
} else if (counter == 3) {
holder.textView.setBackgroundColor(Color.BLUE);
counter = 1;
holder.textView.setText("3");
}
}
@Override
public int getItemCount() {
return data.length;
}
public class MyViewHolder extends RecyclerView.ViewHolder {
TextView textView;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textView);
}
}
}
Почему это происходит, когда я прокручиваю элементы в recylerview
. Пожалуйста, направьте меня в этом вопросе.
Спасибо