1

我正在制作一个程序,在该程序中,我使用 3 个复选框作为项目变化以及 3 个文本视图作为其价格,现在我想知道,每当用户单击复选框 1 时,价格就会出现在 textview1 中发送到下一个活动,如第二个您选择的活动:checkbox1 $2.00,我想使用图像按钮添加到订单,请写一些简短的代码,这对我来说是怎样的。我在这里放置 main.xml 代码:-

    <TextView
        android:id="@+id/regular"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/var1"
        android:layout_marginLeft="40dp"
        android:text="$2.00"
        android:textColor="#343434"
        android:textSize="15dip" />

    <CheckBox
        android:id="@+id/var2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/cost"
        android:layout_toRightOf="@+id/var1"
        android:text="Small" />
           <TextView
        android:id="@+id/small"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/var2"
        android:layout_toRightOf="@+id/var1"
        android:layout_marginLeft="40dp"
        android:text="$1.00"
        android:textColor="#343434"
        android:textSize="15dip" />

    <CheckBox
        android:id="@+id/var3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/cost"
        android:layout_toRightOf="@+id/var2"
        android:text="Large" />
           <TextView
        android:id="@+id/large"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/var3"
        android:layout_toRightOf="@+id/var2"
        android:layout_marginLeft="40dp"
        android:text="$3.00"
        android:textColor="#343434"
        android:textSize="15dip" />


    <ImageButton
        android:id="@+id/add_order"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:src="@drawable/add_order" />
4

2 回答 2

1

您需要将onClickListener添加到 ImageButton。现在,如果调用 onClick 方法,则检索复选框的状态并确定商品的价格。

现在可以将此价格添加到您用于启动下一个活动的 Intent 中。使用 Intent 类的 setExtra 和 getExtra 方法,如本教程中所述

于 2012-10-11T06:54:46.417 回答
1

试试这个代码

public class MainActivity extends Activity {

private ImageButton btn;
private TextView txtSmall, txtMed,txtLarge;
private CheckBox chkSmall, chkLarge;
private String strSmall, strLarge;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //Checkbox Declaration
    chkSmall = (CheckBox)findViewById(R.id.var2);
    chkLarge = (CheckBox)findViewById(R.id.var3);

    //TextView Declaration
    txtSmall = (TextView)findViewById(R.id.small);
    txtLarge = (TextView)findViewById(R.id.large);

    //ImageButton
    btn = (ImageButton)findViewById(R.id.add_order);

    //RESET VALUES
    strSmall = txtSmall.getText().toString();
    strLarge = txtLarge.getText().toString();

    btn.setOnClickListener(new OnClickListener() {

        public void onClick(View arg0) {

            if(chkSmall.isChecked()){
                Toast.makeText(MainActivity.this, "SMALL CHECKBOX SELECTED", Toast.LENGTH_SHORT).show();
                txtLarge.setText(txtSmall.getText().toString());
            }
            else if(chkLarge.isChecked()){
                Toast.makeText(MainActivity.this, "LARGE CHECKBOX SELECTED", Toast.LENGTH_SHORT).show();
                txtSmall.setText(txtLarge.getText().toString());
            }
           else{
                Toast.makeText(MainActivity.this, "RESET Called", Toast.LENGTH_SHORT).show();
                txtSmall.setText(strSmall);
                txtLarge.setText(strLarge);
            }

        }

    });


}

此处您的 XML 代码设置为布局。

于 2012-10-11T09:50:40.833 回答