【问题标题】:Android-change cardview background color parsing jsonAndroid-更改cardview背景颜色解析json
【发布时间】:2019-02-08 08:30:38
【问题描述】:

我正在尝试设置 cardview 解析 json 的背景颜色。一世 在我的数据库中提供了十六进制代码。我在我的 android 中提取十六进制颜色代码 json。如果有任何其他方式可以在我的数据库中提供颜色代码,请建议我。如果您提供我的代码 sn-p,那就太好了。这是我的 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);
                }

            });

        }

    }

【问题讨论】:

  • 您好,Praveen,如果您需要帮助,您应该提供一些代码。
  • 你去我提供了我的适配器类的代码
  • 你有什么问题?
  • 我想设置卡片获取json的背景颜色。我在数据库中提供十六进制颜色代码
  • 好的。所以你首先需要创建一个代表 json 响应的模型,然后解析来自服务器的响应并将其传递给回收器视图,然后使用从 json 解析的颜色。

标签: android json background-color


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    相关资源
    最近更新 更多