Dialog也是Android中最常用到的元件之一,與Menu一樣不是View的子類別。我將API上的繼承關係貼上讓大家參考
在API中Developer Guide 還有更多相關樣式介紹和使用說明 連結如下:
http://developer.android.com/guide/topics/ui/dialogs.html
package com.demo.android.RadioGroupA;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class RadioGroupAActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//AlertDialod Button
Button submit=(Button)findViewById(R.id.submit);
submit.setOnClickListener(btn_submit);
}
//AlertDialog
private OnClickListener btn_submit=new OnClickListener(){
public void onClick(View v) {
openOptionDialog();
}
private void openOptionDialog() {
// TODO Auto-generated method stub
//建立AlertDialog實體並使用子類別Builder
AlertDialog.Builder builder=new AlertDialog.Builder(RadioGroupAActivity.this);
//設定Title&message
builder.setTitle("你喜歡哪一種音樂??");
builder.setMessage("古典/搖滾/現代");
//設定Icon
builder.setIcon(R.drawable.ic_launcher);
//傳回AlertDialog物件,但不顯示對話方塊
builder.create();
builder.setPositiveButton("OK",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
//傳回AlertDialog物件,顯示對話方塊
builder.show();
}
};
}
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="請選擇你的興趣:"
/>
<RadioGroup android:id="@+id/RadioGroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<RadioButton android:id="@+id/music"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Music"
/>
<RadioButton android:id="@+id/business"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Business"
/>
<RadioButton android:id="@+id/sport"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sport"
/>
</RadioGroup>
<LinearLayout android:id="@+id/LinerLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<Button android:id="@+id/submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="確認"
/>
<Button android:id="@+id/toast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Toast"
/>
<Button android:id="@+id/next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next"
/>
</LinearLayout>
</LinearLayout>
老師,請問第二層的LinearLayout中的android:id="@+id/LinerLayout01",一定要加01嗎?
回覆刪除不用,我是為了區別,你可以加或不加
回覆刪除private void openOptionDialog() {
回覆刪除// TODO Auto-generated method stub
老師 這段的private 是用自動生成嗎?? 如果是的話..我好像沒辦法生成
你必須先在這裡呼叫
回覆刪除//AlertDialog
private OnClickListener btn_submit=new OnClickListener(){
public void onClick(View v) {
openOptionDialog();
}
當它出現刪格線時就可以自動產生,若沒有請檢查你是否有import這兩個
import android.app.AlertDialog;
import android.content.DialogInterface;
有了 謝謝老師~
回覆刪除