使用复选框使用图像按钮onclick将textview值发送到另一个活动

时间:2012-10-11 06:46:47

标签: android android-layout android-intent android-emulator android-widget

我正在制作一个程序,其中我使用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" />

2 个答案:

答案 0 :(得分:1)

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

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

中所述

答案 1 :(得分: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代码设置为布局。