如何将Spinner项目作为TextView

时间:2017-11-03 16:15:55

标签: android spinner

我有一个Spinner,用户可以选择他们的顶部订购饮料。我想在购物车中显示饮料名称,选择的顶部和价格。

如何从xml中将从Spinner中选择的项目转换为TextView(cart_item_topping)?

谢谢。

<LinearLayout
        android:orientation="vertical"
        android:layout_weight="9"
        android:layout_width="0dp"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/cart_item_name"
            android:layout_marginLeft="10dp"
            android:gravity="center_vertical|start"
            android:textAllCaps="true"
            android:textStyle="bold"
            android:text="Drink 01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/cart_item_topping"  //this will be retrived from Spinner
            android:layout_marginLeft="10dp"
            android:gravity="center_vertical|start"
            android:textAllCaps="true"
            android:text="Topping 01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/cart_item_price"
            android:layout_marginLeft="10dp"
            android:gravity="center_vertical|start"
            android:textAllCaps="true"
            android:textStyle="italic"
            android:text="100.00"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </LinearLayout>

持有人类

class CartViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener
    ,View.OnCreateContextMenuListener {

public TextView txt_cart_name, txt_price;
public ImageView img_cart_count;

private ItemClickListener itemClickListener;

public void setTxt_cart_name(TextView txt_cart_name) {
    this.txt_cart_name = txt_cart_name;
}

public CartViewHolder(View itemView) {
    super(itemView);
    txt_cart_name = (TextView)itemView.findViewById(R.id.cart_item_name);
    txt_price = (TextView)itemView.findViewById(R.id.cart_item_price);
    img_cart_count = (ImageView)itemView.findViewById(R.id.cart_item_count);
    //code for selected topping from spinner

    itemView.setOnCreateContextMenuListener(this);
}

2 个答案:

答案 0 :(得分:0)

GOTCHA。好吧,当您从微调器中选择时,您需要获取该文本。然后,当您点击查看购物车时,您需要执行以下操作...

forward

然后你需要在新活动中得到它。

Intent intent = new Intent(getBaseContext(), CheckOut.class);
intent.putExtra("toppings", toppings);
startActivity(intent);

我要做的是使用模型。

示例:

toppingsID, toppingsName, toppingsPrice。

为此创建getters。

从那里,你用吸气剂填充微调器,然后传递浇头的ID,这样你就可以遍历浇头列表并显示它。

有意义吗?

答案 1 :(得分:0)

当您选择项目时,recycleradapter会设置为recyclerview set spinner onitemselectedlistener看到这段代码听到......

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
        recyclerview.setAdapter(your adapter with data id);
        //hear data id set into cunstouctor like cursor and etc.
    }

    @Override
    public void onNothingSelected(AdapterView<?> parentView) {
        // your code here
    }

});