Android在CardView中不将视图显示为行

Android在CardView中不将视图显示为行,android,android-layout,view,android-cardview,Android,Android Layout,View,Android Cardview,嘿,伙计们,我在cardwiew中显示一行有问题。我想用一行分隔图像和标题。我在cardwiew中对行使用视图。在预览中,它是确定的,但在我运行应用程序时它不会显示。这是我的代码: 我在另一个项目中做了这个,它成功了,但在这个项目中没有成功 xml代码: <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView `enter code here`xmlns:android="htt

嘿,伙计们,我在
cardwiew
中显示一行有问题。我想用一行分隔图像和标题。我在
cardwiew
中对行使用视图。在预览中,它是确定的,但在我运行应用程序时它不会显示。这是我的代码:

我在另一个项目中做了这个,它成功了,但在这个项目中没有成功

xml代码:

   <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView `enter code here`xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_margin="4dp"
    android:foreground="?attr/selectableItemBackground"
    android:clickable="true"
    app:cardCornerRadius="8dp"
    xmlns:tools="http://schemas.android.com/tools">

    <RelativeLayout
        android:padding="8dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <ImageView
            android:scaleType="centerCrop"
            android:id="@+id/img_amazingRow_icon"
            android:layout_alignParentRight="true"
            tools:src="@mipmap/ic_launcher"
            android:layout_width="130dp"
            android:layout_height="170dp" />
        <TextView
            android:textColor="#000"
            android:id="@+id/txt_amazingRow_title"
            android:ellipsize="end"
            android:maxLines="1"
            android:layout_centerHorizontal="true"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/img_amazingRow_icon"
            tools:text="سرویس چای خوری"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <View
            android:id="@+id/line_amazingRow"
            android:layout_margin="8dp"
            android:layout_below="@+id/txt_amazingRow_title"
            android:background="#000"
            android:layout_width="match_parent"
            android:layout_height="1dp"/>
        <TextView
            android:textColor="@color/gray500"
            android:layout_centerHorizontal="true"
            android:layout_alignParentRight="true"
            android:layout_below="@id/line_amazingRow"
            tools:text="24500"
            android:id="@+id/txt_amazingRow_discount"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:layout_marginTop="8dp"
            android:textColor="#000"
            android:layout_centerHorizontal="true"
            android:layout_alignParentRight="true"
            android:layout_below="@id/txt_amazingRow_discount"
            tools:text="24500"
            android:id="@+id/txt_amazingRow_price"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </RelativeLayout>

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

活动代码:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        setupViews();
        getMainData();

        final DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);

        ImageView imgHamberMenu = (ImageView) findViewById(R.id.img_toolbar_hamberMenu);
        imgHamberMenu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                drawer.openDrawer(Gravity.RIGHT);
            }
        });
        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
    }


    public void getMainData() {
        ApiService service = ApiClient.getClient().create(ApiService.class);
        Call<MainData> call = service.getMainData();
        call.enqueue(new Callback<MainData>() {
            @Override
            public void onResponse(Call<MainData> call, Response<MainData> response) {

                MainData mainData = response.body();
                cats=mainData.getCats();
                iamgeUrl = mainData.getSliders();
                catRecycler.setAdapter(new CatAdapter(MainActivity.this,cats));

                amazingList=mainData.getAmazings();
                for (int i = 0; i < iamgeUrl.size(); i++) {
                    DefaultSliderView defaultSliderView = new DefaultSliderView(MainActivity.this);
                    defaultSliderView
                            .image(iamgeUrl.get(i).getUrl())
                            .setScaleType(BaseSliderView.ScaleType.CenterCrop)
                            .setOnSliderClickListener(MainActivity.this);

                    defaultSliderView.bundle(new Bundle());
                    slider.addSlider(defaultSliderView);

                    txtHour.setText(hour+"");
                    txtMin.setText(min+"");
                    txtSecond.setText(second+"");
                }

                amazingRecycler.setAdapter(new AmazingAdapter(MainActivity.this,amazingList));
            }

            @Override
            public void onFailure(Call<MainData> call, Throwable t) {

                Log.i("LOG", t.toString());
            }
        });
    }


    public void setupViews() {
        txtHour=(TextView)findViewById(R.id.txt_amazing_hour);
        txtMin=(TextView)findViewById(R.id.txt_amazing_min);
        txtSecond=(TextView)findViewById(R.id.txt_amazing_second);
        imgBannerB=(ImageView)findViewById(R.id.img_main_bannerBottom) ;
        imgBannerR=(ImageView)findViewById(R.id.img_main_bannerRight) ;
        imgBannerL=(ImageView)findViewById(R.id.img_main_bannerLeft);

        Picasso.with(getApplicationContext()).load("https://dkstatics-public.digikala.com/digikala-adservice-banners/4387.jpg").into(imgBannerB);
        Picasso.with(getApplicationContext()).load("https://dkstatics-public.digikala.com/digikala-adservice-banners/2774.jpg").into(imgBannerL);
        Picasso.with(getApplicationContext()).load("https://dkstatics-public.digikala.com/digikala-adservice-banners/1814.jpg").into(imgBannerR);

        amazingRecycler=(RecyclerView)findViewById(R.id.rv_main_amazing);
        amazingRecycler.setLayoutManager(new LinearLayoutManager(MainActivity.this,LinearLayoutManager.HORIZONTAL,true));
        iamgeUrl = new ArrayList<>();
        catRecycler=(RecyclerView)findViewById(R.id.rv_main_cats);
        catRecycler.setLayoutManager(new LinearLayoutManager(MainActivity.this,LinearLayoutManager.HORIZONTAL,true));
        slider = (SliderLayout) findViewById(R.id.slider_main);
        slider.setPresetTransformer(SliderLayout.Transformer.Default);
        slider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
    }
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setupview();
getMainData();
最终抽屉布局抽屉=(抽屉布局)findViewById(R.id.抽屉布局);
ImageView imgHamberMenu=(ImageView)findViewById(R.id.img_工具栏_hamberMenu);
imgHamberMenu.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
抽屉。打开抽屉(重力。右);
}
});
NavigationView NavigationView=(NavigationView)findViewById(R.id.nav_视图);
navigationView.setNavigationItemSelectedListener(此);
}
public void getMainData(){
ApiService=ApiClient.getClient().create(ApiService.class);
Call Call=service.getMainData();
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
MainData MainData=response.body();
cats=mainData.getCats();
iamgeUrl=mainData.getSliders();
setAdapter(新的CatAdapter(MainActivity.this,cats));
amazingList=mainData.getAmazings();
对于(int i=0;i
适配器代码:

public class AmazingAdapter extends RecyclerView.Adapter<AmazingAdapter.AmazingViewHolder> {

    public Context context;
    public List<Amazing> amazingList;

    public AmazingAdapter(Context context, List<Amazing> amazingList){
        this.amazingList=amazingList;
        this.context=context;
    }

    @NonNull
    @Override
    public AmazingViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
       View view= LayoutInflater.from(context).inflate(R.layout.amazing_row,viewGroup,false);
        return  new AmazingViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull AmazingViewHolder amazingViewHolder, int position) {

        Amazing amazing=amazingList.get(position);
        amazingViewHolder.txtTitle.setText(amazing.getTitle());
        amazingViewHolder.txtPrice.setText(amazing.getPrice()+" تومان");

        SpannableString spannableString=new SpannableString(amazing.getPrice()+"تومان ");
        spannableString.setSpan(new StrikethroughSpan(),0,amazing.getPrice().length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        amazingViewHolder.txtDiscount.setText(spannableString);

        Picasso.with(context).load(amazing.getImg()).into(amazingViewHolder.imgIcon);
    }

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

    public class AmazingViewHolder extends RecyclerView.ViewHolder{

        ImageView imgIcon;
        TextView txtTitle;
        TextView txtPrice,txtDiscount;
        public AmazingViewHolder(@NonNull View itemView) {
            super(itemView);
            txtTitle=(TextView)itemView.findViewById(R.id.txt_amazingRow_title);
            txtPrice=(TextView)itemView.findViewById(R.id.txt_amazingRow_price);
            txtDiscount=(TextView)itemView.findViewById(R.id.txt_amazingRow_discount);
            imgIcon=(ImageView)itemView.findViewById(R.id.img_amazingRow_icon);
        }
    }
}
公共类AmazingAdapter扩展了RecyclerView.Adapter{
公共语境;
公共列表惊奇列表;
公共AmazingAdapter(上下文,列表amazingList){
this.amazingList=amazingList;
this.context=context;
}
@非空
@凌驾
public AmazingViewHolder onCreateViewHolder(@NonNull ViewGroup ViewGroup,int i){
视图=布局更平坦。从(上下文)。充气(R.layout.Azing_行,视图组,false);
返回新的AmazingViewHolder(视图);
}
@凌驾
BindViewHolder上的公共无效(@NonNull AmazingViewHolder AmazingViewHolder,int位置){
惊人=惊人列表。获取(位置);
amazingViewHolder.txtTitle.setText(惊人的.getTitle());
amazingViewHolder.txtPrice.setText(amazing.getPrice()+“توان”);
SpannableString SpannableString=新的SpannableString(惊人的.getPrice()+“تمان”);
spannableString.setSpan(新删除线粗SPAN(),0,惊人的.getPrice().length(),SPAN.SPAN_EXCLUSIVE_EXCLUSIVE);
amazingViewHolder.txtDiscount.setText(spannableString);
毕加索.with(context).load(惊人的.getImg()).into(惊人的视图持有者.imgIcon);
}
@凌驾
public int getItemCount(){
返回amazingList.size();
}
公共类AmazingViewHolder扩展了RecyclerView.ViewHolder{
ImageView imgIcon;
TextView-txtTitle;
TextView txtPrice,txtDiscount;
公共AmazingViewHolder(@NonNull View itemView){
超级(项目视图);
txtTitle=(TextView)itemView.findViewById(R.id.txt\u amazingRow\u title);
txtPrice=(TextView)itemView.findViewById(R.id.txt\u amazingRow\u price);