2012年2月10日 星期五

[TQC+ Android] 1-9 AlertDialog 顯示結果





一個簡單的表單 , 內含姓名 , 性別及興趣欄位 , 當使用者填寫完表單內的資料後 , 按下顯示結果按鈕 , 此時程是會收集表單內填寫的資訊 , 已跳出AlertDialg 的方式呈現表單輸入結果 , 這題只是單純的AlertDialog顯示我們選擇的資料 , 以下是程式碼。


package COM.TQC.GDD01;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;

public class GDD01 extends Activity

{
  private EditText et;
  private RadioButton rb1;
  private RadioButton rb2;
  private CheckBox cb1;
  private CheckBox cb2;
  private CheckBox cb3;
  private Button button;
  private AlertDialog.Builder AB;
  private String content;
  
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    et = (EditText) findViewById(R.id.name);
    rb1 = (RadioButton) findViewById(R.id.rButton1);
    rb2 = (RadioButton) findViewById(R.id.rButton2);
    
    cb1 = (CheckBox) findViewById(R.id.cBox1);
    cb2 = (CheckBox) findViewById(R.id.cBox2);
    cb3 = (CheckBox) findViewById(R.id.cBox3);
    
    button = (Button) findViewById(R.id.button1);
    
    AB = new AlertDialog.Builder(this);
    AB.setTitle("結果");
    AB.setPositiveButton("離開", new OnClickListener()
    {
  @Override
  public void onClick(DialogInterface arg0, int arg1)
  {
   // TODO Auto-generated method stub
   // 作用為關閉AlertDialog  
  }     
    }
    );
        
    button.setOnClickListener(new Button.OnClickListener()
    {
      @Override
      public void onClick(View v)
      { 
         if(et.getText().toString().trim().length()==0) content = "姓名:未填\n";
         //防止使用者鍵入空白 , 考試時使用 getText().equals("") 即可
         else content = "姓名:"+et.getText()+"\n";
      
         if(rb1.isChecked()) content+="性別:帥哥\n興趣:";
         else content+="性別:美女\n興趣:";
         
         if(cb1.isChecked()==false&&cb2.isChecked()==false&&cb3.isChecked()==false)
          content+="未選擇";
         else
         {
          if(cb1.isChecked()) content+="吃飯 ";
             if(cb2.isChecked()) content+="睡覺 ";
             if(cb3.isChecked()) content+="上網 ";
         }         
         AB.setMessage(content).show();
      }
    });
  }
}

以下是 main.xml

  
    
      
      
    
    
      
      
        
        
      
    
    
      
      
        
        
        
      
    
  
  






P.S. 題目中所要求的Variable和Method皆會保留 , 也會根據題目所要求的流程去實作 , 縱使題目要求繞遠路....



沒有留言:

張貼留言

Google Analytics