私はRecyclerviewを使って、StackerflowやYoutubeのすべてのチュートリアルなど、Cardviewsを作成しています。それは私のために働いたが、私はアプリを実行すると、それは全体のデータと1つだけのCardviewのようなものを示しています。メインRecyclerviewでCardviewを作成する
アクティビティー:
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/reciclador"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="3dp"
android:scrollbars="vertical" />
レイアウトカード:データの
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="4dp">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imgRestaurant"
android:layout_width="400dp"
android:layout_height="100dp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginTop="18dp"
card_view:srcCompat="@drawable/soporte_it" />
<TextView
android:id="@+id/lblNombre"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/imgRestaurant"
android:layout_marginTop="10dp"
android:text="Restaurant Soporte" />
<TextView
android:id="@+id/lblDescripcion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/lblNombre"
android:layout_marginTop="22dp"
android:text="TextView" />
</RelativeLayout>
</android.support.v7.widget.CardView>
クラス(clsRestaurants):
package com.soft.kukito.cardviewprueba;
/**
* Created by Hernan on 16/7/2017.
*/
public class clsRestaurants {
private int imagen_r;
private String nombre_r;
private String descripcion_r;
public clsRestaurants(int imagen_r, String nombre_r, String descripcion_r) {
this.imagen_r = imagen_r;
this.nombre_r = nombre_r;
this.descripcion_r = descripcion_r;
}
public int getImagen_r() {
return imagen_r;
}
public String getNombre_r() {
return nombre_r;
}
public String getDescripcion_r() {
return descripcion_r;
}
}
アダプタ(restaurantAdapter):
package com.soft.kukito.cardviewprueba;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import java.lang.reflect.Array;
import java.util.ArrayList;
import static android.os.Build.VERSION_CODES.M;
/**
* Created by Hernan on 16/7/2017.
*/
public class restaurantsAdapter extends RecyclerView.Adapter<restaurantsAdapter.restaurantsViewHolder>
{
private ArrayList<clsRestaurants> restaurant_item;
public restaurantsAdapter(ArrayList<clsRestaurants> restaurant_item) {
this.restaurant_item = restaurant_item;
}
@Override
public restaurantsViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.layout_cards,viewGroup,false);
restaurantsViewHolder restaurants = new restaurantsViewHolder(v);
return restaurants;
}
@Override
public void onBindViewHolder(restaurantsViewHolder restaurantsViewHolder, int i) {
restaurantsViewHolder.nombre.setText(restaurant_item.get(i).getNombre_r());
restaurantsViewHolder.descripcion.setText(restaurant_item.get(i).getDescripcion_r());
restaurantsViewHolder.imagen.setImageResource(restaurant_item.get(i).getImagen_r());
}
@Override
public int getItemCount() {
return restaurant_item.size();
}
public class restaurantsViewHolder extends RecyclerView.ViewHolder{
TextView nombre,descripcion;
ImageView imagen;
public restaurantsViewHolder(View itemView) {
super(itemView);
nombre=(TextView)itemView.findViewById(R.id.lblNombre);
descripcion=(TextView) itemView.findViewById(R.id.lblDescripcion);
imagen=(ImageView)itemView.findViewById(R.id.imgRestaurant);
}
}
}
これは数時間後に頭痛を与えています。私は何を得る
アダプタクラスは追加していませんが、Dataクラス自体は2回追加されています。アダプタクラスを追加し、さらに好ましくはスクリーンショットを追加します –
今すぐ画像を追加しました。アダプター – Natarr
@ Natarr 'RecyclerView.Adapter'は実際には欠けています...疑いがある間に、あなたは'LinearLayout'の代わりに、' RelativeLayout'の代わりに(上下左右にネストすることもできます)...下端に「分割線」としてLinearLayoutを追加するだけで、以下のような「DividerItemDecoration」を偽造することさえできます。 –