显示换行父母而不是匹配父母的Recycler视图cardview

时间:2017-12-25 08:50:18

标签: android material-design android-cardview

我已将父级传递给onCreateViewHolder而不是null,但它未显示匹配的父级。

请告诉我代码中是否有错误?

这是我的Main_Adapter.class

public class Main_Adapter extends RecyclerView.Adapter<Main_Adapter.ViewHolder> {

    private List<MainModel> mainModels;
    private Context context;
    private OnClicklisteners listener;



    public Main_Adapter(List<MainModel> mainModels, Context context, OnClicklisteners onClicklisteners) {
        this.mainModels = mainModels;
        this.context = context;
        this.listener=onClicklisteners;
    }

    public interface OnClicklisteners{
        public void onPosClicked(View view, int pos, ImageView mainimage, ArrayList<Integer> colorlist);
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.main_card, parent, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(final ViewHolder holder, int position) {
        holder.main_text.setText(mainModels.get(position).getName());
        Picasso.with(context).load(mainModels.get(position).getImageName()).fit().centerInside().into(holder.mainimage);
      }

    @Override
    public int getItemCount() {
        return mainModels.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
        @BindView(R.id.main_image)
        ImageView mainimage;
        @BindView(R.id.main_text)
        TextView main_text;

        Typeface ubuntu;
        int colors;
        ArrayList<Integer> colorlist =new ArrayList<>();


        public ViewHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
            itemView.setOnClickListener(this);



        }

        @Override
        public void onClick(View view) {
            int pos = getAdapterPosition();
            listener.onPosClicked(view,pos,mainimage,colorlist);

        }


    }

以下是main_card.xml

<android.support.v7.widget.CardView android:id="@+id/movie_container"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:layout_gravity="center"
    android:clickable="true"
    android:layout_margin="2dp"
    android:foreground="?attr/selectableItemBackground"
    card_view:cardCornerRadius="2dp"
    card_view:cardElevation="2dp"
    xmlns:card_view="http://schemas.android.com/apk/res-auto">

    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="match_parent">



    <ImageView
        android:layout_marginTop="50dp"
        android:id="@+id/main_image"
        android:layout_width="35dp"
        android:layout_height="35dp"
        android:layout_gravity="center"
        android:background="@color/white"
        android:scaleType="centerCrop"
        />
    <TextView
        android:layout_marginTop="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/main_text"
        android:textSize="16sp"
        android:text="hello"
        android:textAlignment="center"
      />

    </LinearLayout>




</android.support.v7.widget.CardView>

以下是截图:

enter image description here

它应该显示全宽,但它只显示换行内容。我找到了一个类似的帖子,但他们告诉我们通过onCreateViewHolder中的父母。我已经做到了,但它没有帮助我。

0 个答案:

没有答案
相关问题