Android-change cardview背景颜色解析json

问题描述 投票:-5回答:1

我正在尝试设置解析json的cardview的背景颜色。我在我的数据库中提供了十六进制代码。我在我的机器人中拉十六进制代码json。如果有任何其他方式在我的数据库中提供颜色代码,请建议我。如果你提供我的代码片段会很棒。这是我的android适配器代码。

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.support.annotation.NonNull;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import java.util.List;

public class categories_adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
    private Context context;
    private LayoutInflater inflater;
    LinearLayout linearLayout;
    List<categories_data> data;
    String catid;

    public categories_adapter(Context context, List<categories_data> data){
        this.context=context;
        inflater = LayoutInflater.from(context);
        this.data = data;
    }

    @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = inflater.inflate(R.layout.categories_layout,parent,false);
        Myholder holder = new Myholder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
        com.x.card.categories_list.categories_adapter.Myholder myholder = (com.x.card.categories_list.categories_adapter.Myholder) holder;
        categories_data current = data.get(position);
        myholder.tv.setText(current.categ_name);
      myholder.catcard.setCardBackgroundColor(Color.parseColor(current.catcol));
        Glide.with(context).load(current.cat_image).into(myholder.imv);

    }

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

    class Myholder extends RecyclerView.ViewHolder{
        ImageView imv;
        TextView tv;
        CardView catcard;

        public Myholder(final View itemView) {
            super(itemView);
            imv = itemView.findViewById(R.id.cimv);
            tv = itemView.findViewById(R.id.cat_name);
            linearLayout = itemView.findViewById(R.id.linlay);
            catcard = itemView.findViewById(R.id.catcard);

            linearLayout.setOnClickListener(new View.OnClickListener(){

                @Override
                public void onClick(View v) {
                    categories_data currentItem = data.get(getAdapterPosition());
                    Intent i = new Intent(context,products.class);
                    i.putExtra("catid",currentItem.catid);
                    context.startActivity(i);
                }

            });

        }

    }
android json background-color
1个回答
0
投票

JSON中不使用八进制和十六进制格式。您可以尝试在数据库中存储十进制数字,并在解析后将其转换为十六进制。否则你可以使用rgb。

© www.soinside.com 2019 - 2024. All rights reserved.