我正在尝试设置解析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);
}
});
}
}
JSON中不使用八进制和十六进制格式。您可以尝试在数据库中存储十进制数字,并在解析后将其转换为十六进制。否则你可以使用rgb。