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
Mon Adapter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
Ma classe Liste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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()); } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;} }
Partager