提示框嵌套xml獲取值

main.xml

..........................................................................................................................................

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <Button 
        android:id="@+id/bn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="點擊"/>

</LinearLayout>

 

edit.xml

...................................................................................................................................

 

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TableRow>
        <TextView android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="性別:"
            android:textSize="11pt"/>

        <RadioGroup 
            android:id="@+id/sex"
            android:orientation="horizontal"
            android:layout_gravity="center_horizontal">

            <RadioButton 
                android:id="@+id/nan"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="男"/>
            <RadioButton 
                android:id="@+id/nv"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="女"/>

        </RadioGroup>
    </TableRow>
    <TableRow >
        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="喜歡的顏色:"
             android:textSize="11pt"/>
        <LinearLayout 
            android:layout_gravity="center_horizontal"
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
             <CheckBox 
        android:id="@+id/box1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="紅色"
        />
    <CheckBox 
        android:id="@+id/box2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="黃色"
     />
    <CheckBox 
        android:id="@+id/box3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="藍色"
        />

        </LinearLayout>
    </TableRow>

    <Button 
        android:id="@+id/button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="確定"/>

</TableLayout>

......................................................................................

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener; 
import android.widget.Toast;

public class MainActivity extends Activity {
 RadioButton radio,radio1;
 CheckBox box,box1,box2;
 AlertDialog alert;
 String temp=null;
 String color=null;
 int num=0;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  Button bn=(Button) findViewById(R.id.bn);

  bn.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View arg0) {
    final AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
    View view=LayoutInflater.from(MainActivity.this).inflate(R.layout.edit, null);
    builder.setView(view);

    builder.setTitle("選擇:");
    builder.setMessage("請做出你最後的抉擇:");
    alert=builder.create();
    alert.show();
    RadioGroup group=(RadioGroup)view.findViewById(R.id.sex);
    radio=(RadioButton)view.findViewById(R.id.nan);
    radio1=(RadioButton)view.findViewById(R.id.nv);
    box=(CheckBox) view.findViewById(R.id.box1);
    box1=(CheckBox) view.findViewById(R.id.box2);
    box2=(CheckBox) view.findViewById(R.id.box3);
    Button button=(Button) view.findViewById(R.id.button);
    group.setOnCheckedChangeListener(new OnCheckedChangeListenerImp());
    box.setOnCheckedChangeListener(new OnCheckBox());
    box1.setOnCheckedChangeListener(new OnCheckBox1());
    box2.setOnCheckedChangeListener(new OnCheckBox2());
    button.setOnClickListener(new OnClickListener() {

     @Override
     public void onClick(View v) {
      String result="";
      if(box.isChecked()){
       result+=box.getText().toString();
      }
      if(box1.isChecked()){
       result+=box1.getText().toString();
      }
      if(box2.isChecked()){
       result+=box2.getText().toString();
      }
      if(result!=""){
       Toast.makeText(MainActivity.this, "你的選擇是:性別:"+temp+",你選了"+num+"種顏色分別爲:"+result ,Toast.LENGTH_LONG).show();
      }
      alert.dismiss();
     }

    });


   }
  });

 }
 private class OnCheckedChangeListenerImp implements OnCheckedChangeListener{

  @Override
  public void onCheckedChanged(RadioGroup group, int checkedId) {
   if(MainActivity.this.radio.getId()==checkedId){
    temp="男";
   }
   if(MainActivity.this.radio1.getId()==checkedId){
    temp="女";
   }

  }
 }
 private class OnCheckBox implements android.widget.CompoundButton.OnCheckedChangeListener{

  @Override
  public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if(box.isChecked())  {
     System.out.println(box.getText().toString());
     num++;
   }else{
    num--;
   }
  }

}
 private class OnCheckBox1 implements android.widget.CompoundButton.OnCheckedChangeListener{

  @Override
  public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if(box.isChecked())  {
    System.out.println(box1.getText().toString());
     num++;
   }else{
    num--;
   }
  }

}
private class OnCheckBox2 implements android.widget.CompoundButton.OnCheckedChangeListener{

  @Override
  public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if(box.isChecked())  {
     System.out.println(color=box2.getText().toString());
     num++;
   }else{
    num--;
   }
  }

}

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章