私はcardviewの背景色を自分の提供する色と一致させたいと考えています。setCardview Jsonから受け取ったレスポンスに一致する背景色
は、ここで私は画像とテキストである私のcardview、2つのパラメータを持っている私のitem_details.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="0dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="9dp"
card_view:cardCornerRadius="3dp"
card_view:cardElevation="0.01dp">
<RelativeLayout
android:id="@+id/top_layout"
android:layout_width="match_parent"
android:layout_height="160dp">
<ImageView
android:id="@+id/img_thumbnail"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_above="@+id/tvMenu"
android:layout_centerHorizontal="true"
android:scaleType="fitXY" />
<TextView
android:id="@+id/tvMenu"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_gravity="bottom"
android:background="#ff444444"
android:gravity="center_vertical"
android:paddingLeft="5dp"
android:paddingRight="2dp"
android:text="Test"
android:textColor="#fff"
android:textSize="12sp" />
</RelativeLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
です。 基本的に、私はAPIから取得し、Imageviewに設定するつもりの色、そして詳細は、私のテキストビューに表示されます。ここで
は、私がsucessfully、応答 "名" を取得し、私のcardviewでそれを示してきた私のAPIの結果、
[
{
"Name": "Item 1",
"colorMenu": "#666666"
},
{
"Name": "Item 2",
"colorMenu": "#336699"
},
{
"Name": "Item 3",
"colorMenu": "#663399"
}
]
です。 しかし、私はこのエラーに色を入れようとすると、表示されます。
com.google.gson.JsonSyntaxException:java.lang.NumberFormatExceptionは:無効なダブル:私のオブジェクト "" ここ
がmyAdapterここ
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.mName.setText(itemList.get(position).getNmMenu());
holder.mColor.setBackgroundColor(Color.parseColor(String.valueOf(itemList.get(position).getColorMenu())));
}
の私onBindViewHolderである
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class MyObject {
@SerializedName("Name")
@Expose
private String name;
@SerializedName("colorMenu")
@Expose
private String colorMenu;
/**
*
* @return
* The name
*/
public String getName() {
return name;
}
/**
*
* @param name
* The Name
*/
public void setName(String name) {
this.name = name;
}
/**
*
* @return
* The colorMenu
*/
public String getColorMenu() {
return colorMenu;
}
/**
*
* @param colorMenu
* The colorMenu
*/
public void setColorMenu(String colorMenu) {
this.colorMenu = colorMenu;
}
}
メソッドgetColorMenu()を表示できますか? – KunalK
これは 'itemList.get(position).getNmMenu()'を返しますか? –
pojoクラスを作成し、このholder.itemView.setBackgroundColor(Color.parseColor(item.getColor))のような背景色を設定すると、はるかに良いでしょう。 – Nitesh