0

我想将选中复选框中的值传递给 Toast 视图,但看看它是如何显示的http://postimg.org/image/zc1dobpuf/你能帮我吗?

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    final EditText name=(EditText)findViewById(R.id.name);
    final EditText phone=(EditText)findViewById(R.id.phone_number);
    final EditText address=(EditText)findViewById(R.id.address);
    final RadioGroup shapes = (RadioGroup) findViewById(R.id.rBtnshapes);
    final RadioGroup types = (RadioGroup) findViewById(R.id.rBtntypes);
    final CheckBox pep = (CheckBox)findViewById(R.id.pepperoni);
    final CheckBox mshr = (CheckBox)findViewById(R.id.mushrooms);

    Button orderBtn = (Button)findViewById(R.id.orderBtn);

    orderBtn.setOnClickListener(new View.OnClickListener() {




        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            StringBuffer result = new StringBuffer();
            result.append("Pepperoni"+"\n").append(pep.isChecked()).toString();
            result.append("Mushrooms"+"\n").append(mshr.isChecked()).toString();

            int selectedShape = shapes.getCheckedRadioButtonId();
            int selectedCheese = types.getCheckedRadioButtonId();
            RadioButton sh = (RadioButton)findViewById(selectedShape);
            RadioButton ty=(RadioButton)findViewById(selectedCheese);
            Toast.makeText(MainActivity.this, "Name: "+name.getText()+"\n"+"Phone: "+phone.getText()+"\n"+"Address: " +address.getText()+"\n"+"Shape: "+sh.getText()+"\n"+"Cheese: "+ty.getText()+"\n"+"Toppings: "+result.toString(), Toast.LENGTH_SHORT).show();
        }
    });

}
}
4

3 回答 3

0

我猜你希望选中的复选框如图所示

orderBtn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                StringBuffer result = new StringBuffer();

                int selectedShape = shapes.getCheckedRadioButtonId();
                int selectedCheese = types.getCheckedRadioButtonId();
                RadioButton sh = (RadioButton)findViewById(selectedShape);
                RadioButton ty=(RadioButton)findViewById(selectedCheese);

                final CheckBox pep = (CheckBox)findViewById(R.id.pepperoni);
                final CheckBox mshr = (CheckBox)findViewById(R.id.mushrooms);

                if(pep.isChecked()==true){

                      result.append("Pepperoni"+"\n");
                }
                  if(mshr.isChecked()==true){

                  result.append("Mushrooms"+"\n");
              }


                Toast.makeText(MainActivity.this, "Name: "+name.getText()+"\n"+"Phone: "+phone.getText()+"\n"+"Address: " +address.getText()+"\n"+"Shape: "+sh.getText()+"\n"+"Cheese: "+ty.getText()+"\n"+"Toppings: "+result.toString(), Toast.LENGTH_SHORT).show();
            }
        });
于 2013-09-26T13:23:54.033 回答
0

我认为,而不是

orderBtn.setOnClickListener(new View.OnClickListener() 

利用:

orderBtn.setOnCheckedChangeListener(new OnCheckedChangeListener() ...

Doc此方法将检查用户是否选中或取消选中对话框

于 2013-09-26T13:24:12.027 回答
0

生成listner复选框并放置条件并检查在哪里checkbox检查或不检查@

pep.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked){
                    String temp=buttonView.getText().toString();
                }

            }
        });

然后附加并将String to StringBuffer结果传递给 toast 消息。

于 2013-09-26T13:24:49.847 回答