歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android學習筆記之具有選擇功能的對話框

為了實現具有選擇功能的對話框這一程序,首先我們來介紹一個非常有用的組件——AlertDialog。

java.lang.Object

  |-- Android.app.Dialog

    |-- android.app.AlertDialog

從繼承關系中我們可以看出,AlertDialog直接繼承自Dialog。我們知道,Dialog窗口主要目的是與User確認及互動,用於“程序提示”,“警告”或“確認”等,是android應用程序中非常重要的一部分。

在android sdk中,雖然有許多窗口,但真正具有交互功能的則為AlertDialog對話窗口。AlertDialog同樣提供了一個靜態的嵌套類AlertDialog.Builder供開發者使用。

AlertDialog可以以列表項目的方式來顯示內容,這種顯示方式也是非常常見的,如用於投票、選擇器以及遙控器等應用程序。

程序運行效果:

Activity程序如下所示,注意在第二個AlertDialog對話框中設置了兩個按鈕,但由於本程序重在說明AlertDialog用法,故未添加具體的實現。

public class MainActivity extends Activity
{
 private Button button=null;
 
 @Override
 protected void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  super.setContentView(R.layout.activity_main);
  this.button=(Button)super.findViewById(R.id.button);
  //設置按鈕單擊消息響應
  this.button.setOnClickListener(new OnClickListener()
  {
      @Override
   public void onClick(View v)
      {
       //新建AlertDialog對話框
    new AlertDialog.Builder(MainActivity.this)
    .setTitle(R.string.string_alert_title)
    .setItems(R.array.items_dialog,new DialogInterface.OnClickListener()
    {
     @Override
     public void onClick(DialogInterface dialog, int which)
     {
      //取出響應字符串資源
         CharSequence string_body=MainActivity.this.getResources().getString(R.string.string_alert_body);
         final String[] colors=MainActivity.this.getResources().getStringArray(R.array.items_dialog);
         //彈出新的對話框
      new AlertDialog.Builder(MainActivity.this)
      .setMessage(string_body+colors[which])
      .setNeutralButton(R.string.string_alert_ok, new DialogInterface.OnClickListener() //確認操作
      {
       @Override
       public void onClick(DialogInterface dialog, int which)
       {
        //添加操作
       }
      })
      .setNegativeButton(R.string.string_alert_cancel, new DialogInterface.OnClickListener() //取消操作
      {
       @Override
       public void onClick(DialogInterface dialog, int which)
       {
        dialog.dismiss();
       }
      }).show();
     }
    }).show();
   }
  });
 }

}

布局文件非常簡單,只有一個Button組件,此處不再給出。
 
字符串資源文件如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">demo3</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="button_text">選擇顏色</string>
    <string name="string_alert_title">請選擇您喜歡的顏色</string>
    <string name="string_alert_body">你選擇的是:</string>
    <string name="string_alert_ok">確認</string>
    <string name="string_alert_cancel">取消</string>
   
    <array name="items_dialog">
        <item>紅色</item>
        <item>綠色</item>
        <item>藍色</item>
    </array>
   
</resources>

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved