J'ai vérifié plusieurs fois mais je ne comprends pas pourquoi n'affiche pas l'élément il montre juste l'espace vide qui était pour la vue Recycler J'ai utilisé la méthode du journal partout et tout est normal dans le journal mais je ne peux pas obtenir résultat c'est mon activité principale que j'ai appelée adaptateur et y ai construit ma liste de tableaux et j'ai appelé 5 élément
public class OrderViewHolder extends RecyclerView.ViewHolder {
public TextView textView;
public CheckBox Selected;
public OrderViewHolder(View itemView) {
super(itemView);
textView=itemView.findViewById(R.id.txt_order);
Selected=itemView.findViewById(R.id.chk_selected);
}
}
c'est mon modèle Je construis un modèle dans cette classe et le setter et le getter sont créés et quand je consigne ces variables, elles sont complètes et correctes
public class OrderAdapter extends RecyclerView.Adapter<OrderViewHolder> {
private Context context;
private ArrayList<Orders> orders;
public OrderAdapter(Context context, ArrayList<Orders> orders) {
this.context=context;
this.orders=orders;
}
@Override
public OrderViewHolder onCreateViewHolder( ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.ordercity,null);
OrderViewHolder orderViewHolder =new OrderViewHolder(view);
return orderViewHolder;
}
@Override
public void onBindViewHolder( OrderViewHolder holder, int position) {
Orders order = orders.get(position);
holder.textView.setText("set text ");
}
@Override
public int getItemCount() {
Log.i("MainActtivity","value"+ orders.size());
return (orders == null ? 0 : orders.size());
}
}
c'est mon adaptateur
public class Orders {
private int kind,count ;
private String address;
public Orders() {
}
public int getKind() {
return kind;
}
public void setKind(int kind) {
this.kind = kind;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Orders(int kind, int count, String address) {
this.kind = kind;
this.count = count;
this.address = address;
}
}
et c'est mon détenteur de vue
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
interviews();
}
private void interviews() {
recyclerView =findViewById(R.id.rcl_orders);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
OrderAdapter orderAdapter =new OrderAdapter(this,getOrders());
recyclerView.setAdapter(orderAdapter);
}
private ArrayList<Orders> getOrders(){
ArrayList<Orders> orders = new ArrayList<>();
orders.add(new Orders(1,1," NewYork City"));
orders.add(new Orders(2,2,"Masochist"));
orders.add(new Orders(3,1,"San francisco"));
orders.add(new Orders(4,5,"pennsylvania"));
orders.add(new Orders(5,3,"LosAngeles"));
return orders;
}
}
veuillez m'aider !!!
3 Réponses :
Mettez à jour votre adaptateur comme ci-dessous
@Override
public int getItemCount() {
Log.i("MainActtivity","value"+ orders.size());
return orders.size();
}
@Override
public OrderViewHolder onCreateViewHolder( ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.ordercity, parent, false);
return new MyViewHolder(itemView);
}
@Override
public int getItemCount() {
Log.i("MainActtivity","value"+ orders.size());
return orders.size());
}
Dans votre Modifiez ceci: À ceci: onCreateViewHolder():View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.ordercity , parent , false);
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.ordercity,null);
ça marche mais son show 5 recyclerview au lieu de 5 item dans recyclerview
xml version = "1.0" encoding = "utf-8"?>
Essayez de rendre la hauteur de vue du recycleur match_parent ? À part cela, votre problème est résolu pour ne pas afficher les éléments. Vous pouvez poser une nouvelle question pour d'autres questions.
pouvez-vous afficher votre ressource de mise en page
R.layout.ordercity?