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