0

我设法从单选按钮传递值,现在我想要当用户单击几个复选框以在 toast 视图中显示选中的值 +Toppings: HERE

package com.example.pizzaorderding;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class MainActivity extends Activity {

    @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").append(pep.isChecked());
                result.append("Mushrooms").append(mshr.isChecked());

                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

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();

` 这就是它如何显示http://postimg.org/image/zc1dobpuf/ .. 我不想显示真假,只要它被选中显示浇头

于 2013-09-25T18:15:24.400 回答
0

你的意思是这样的:

if (pep.isChecked())
   result.append("Pepperoni, ");
if (mshr.isChecked())
   result.append("Mushrooms, ");
if (result.length() > 2)
   result.delete(result.length() - 2, result.length()); // to remove last ", "
于 2013-09-22T22:46:21.353 回答
0

也许这会起作用?

result.append("Pepperoni").append(pep.isChecked().toString());
result.append("Mushrooms").append(mshr.isChecked().toString());
于 2013-09-22T22:08:19.553 回答