Problème ArrayList sur un RecyclerView
Bonjour à tous,
J'ai un soucis, je souhaite faire afficher une liste dans ma seconde Activity mais il n'affiche que le dernier item et non les précédentes. Qu'est-ce que je dois faire pour tous les afficher?
HomeActivity.java
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| public class HomeActivity extends Activity {
private RecyclerView mRecyclerView;
private ArrayList<MyPokemonBank> mPokemonList;
private MyPokemonAdapter mAdapter;
private TextView mHelloText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
mHelloText = findViewById(R.id.home_textview_hello);
Intent intent = getIntent();
String login = intent.getStringExtra(MainActivity.LOGIN_DATA);
mHelloText.setText(login);
mRecyclerView = (RecyclerView)findViewById(R.id.home_recyclerview_pokemonname);
mPokemonList = new ArrayList<>();
mPokemonList.add(new MyPokemonBank("Pikachu", "Electrik"));
mPokemonList.add(new MyPokemonBank("Dracaufeu", "Feu"));
mPokemonList.add(new MyPokemonBank("Miaouss", "Normal"));
mAdapter = new MyPokemonAdapter(mPokemonList);
mRecyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext(), LinearLayoutManager.HORIZONTAL, false));
mRecyclerView.setAdapter(mAdapter);
} |
Mon Adapter
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| public class MyPokemonAdapter extends RecyclerView.Adapter<MyPokemonAdapter.MyViewHolder> {
ArrayList<MyPokemonBank> mPokemonList;
MyPokemonAdapter(ArrayList<MyPokemonBank> mPokemonList){
this.mPokemonList = (ArrayList<MyPokemonBank>) mPokemonList;
}
@NonNull
@Override
public MyPokemonAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View view = layoutInflater.inflate(R.layout.pokemon_bank, parent, false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyPokemonAdapter.MyViewHolder holder, int position) {
holder.display(mPokemonList.get(position));
}
@Override
public int getItemCount() {
return mPokemonList.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder{
private TextView mPokemonName;
private TextView mPokemonType;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
mPokemonName = (TextView)itemView.findViewById(R.id.name);
mPokemonType = (TextView)itemView.findViewById(R.id.type);
}
public void display(MyPokemonBank myPokemonBank) {
this.mPokemonName.setText(MyPokemonBank.getName());
this.mPokemonType.setText(MyPokemonBank.getType());
}
}
} |
Ma classe Liste
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| public class MyPokemonBank {
private static String name;
private static String type;
MyPokemonBank(String name, String type){
this.name = name;
this.type = type;
}
public static String getName() {return name;}
public static String getType() {return type;}
} |