android 簡單列表對話框(AlertDialog.Builder().setItems())

fmms 12年前發布 | 185K 次閱讀 Android開發 移動開發 Android

android 簡單列表對話框(AlertDialog.Builder().setItems())  

android 簡單列表對話框(AlertDialog.Builder().setItems())

 
android 簡單列表對話框(AlertDialog.Builder().setItems())

 

package com.js.listdialogtest1;

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

public class ListDialogTest1 extends Activity implements OnClickListener {

private Button btnListDialog;

private String[] provinces = new String[] { "上海", "北京", "湖南", "湖北", "海南" };



/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);



    btnListDialog = (Button) findViewById(R.id.btnListDialog);

    btnListDialog.setOnClickListener(this);

}



@Override

public void onClick(View v)

{

    switch (v.getId())

    {

    case R.id.btnListDialog:

        showListDialog();

        break;

    }



}



private void showListDialog()

{

    AlertDialog.Builder builder = new AlertDialog.Builder(this);

    builder.setTitle("請選擇省份");



    /**

     * 1、public Builder setItems(int itemsId, final OnClickListener

     * listener) itemsId表示字符串數組的資源ID,該資源指定的數組會顯示在列表中。 2、public Builder

     * setItems(CharSequence[] items, final OnClickListener listener)

     * items表示用于顯示在列表中的字符串數組

     */

    builder.setItems(provinces, new DialogInterface.OnClickListener()

    {



       @Override

       public void onClick(DialogInterface dialog, int which)

      {

        /*

        * ad變量用final關鍵字定義,因為在隱式實現的Runnable接口 的run()方法中 需要訪問final變量。

         */

        final AlertDialog ad = new AlertDialog.Builder(

       ListDialogTest1.this).setMessage(

           "你選擇的是:" + which + ": " + provinces[which]).show();

        Handler handler = new Handler();

        Runnable runnable = new Runnable()
        {

          @Override
           public void run()
           {

               // 調用AlertDialog類的dismiss()方法關閉對話框,也可以調用cancel()方法。

               ad.dismiss();

           }

       };

       // 5秒后運行run()方法。

       handler.postDelayed(runnable, 5 * 1000);

        }

   });

    builder.create().show();

}

}</pre>

</div>

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!