Dialog(三)——列表对话框和进度对话框

简介: MainActivity如下: import android.app.Activity;import android.app.AlertDialog.

MainActivity如下:

import android.app.Activity;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
    private Button mListButton;
    private Button mProgressButton;
    private Dialog mListDialog;
    private ProgressDialog mProgressDialog;
    private int currentProgress=0;
    private int maxProgress=100;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}

    private void init(){
    	mListButton=(Button) findViewById(R.id.listDialogButton);
    	mListButton.setOnClickListener(new ButtonOnClickListenerImpl());
    	mProgressButton=(Button) findViewById(R.id.progressDialogButton);
    	mProgressButton.setOnClickListener(new ButtonOnClickListenerImpl());
    }

	private class ButtonOnClickListenerImpl implements OnClickListener {
		@Override
		public void onClick(View view) {
			switch (view.getId()) {
			case R.id.listDialogButton:
                Builder listBuilder=new Builder(MainActivity.this);
                listBuilder.setIcon(R.drawable.ic_launcher);
                listBuilder.setTitle(getResources().getString(R.string.list_dialog_title));
                listBuilder.setItems(getResources().getStringArray(R.array.listDialogArray), new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int which) {
						String selected=getResources().getStringArray(R.array.listDialogArray)[which];
						Toast.makeText(MainActivity.this,selected, Toast.LENGTH_SHORT).show();
					}
				});
                mListDialog=listBuilder.create();
                mListDialog.show();
                break;
			case R.id.progressDialogButton:
				mProgressDialog=new ProgressDialog(MainActivity.this);
				mProgressDialog.setMax(maxProgress);
				mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);  
				mProgressDialog.setTitle(R.string.progress_dialog_title);
				mProgressDialog.setIcon(R.drawable.ic_launcher);
				mProgressDialog.setMessage(getResources().getString(R.string.progress_dialog_message));
				mProgressDialog.setCancelable(false);
                mProgressDialog.show();
                new Thread(){
                	public void run() {
                		try {
                			while(currentProgress<=maxProgress){
                    			mProgressDialog.setProgress(currentProgress++);
                    			Thread.sleep(500);
                    		}
                			mProgressDialog.cancel();
						} catch (Exception e) {
							mProgressDialog.cancel();
						}
                		
                	};
                }.start();
               
				break;
			default:
				break;
			}
		}

	}
	
}

main.xml如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    >

    <Button
        android:id="@+id/listDialogButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/listDialog_button" 
        android:layout_marginTop="100dip"
        android:textSize="20sp"
     />
    
    <Button
        android:id="@+id/progressDialogButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/progressDialog_button" 
        android:layout_marginTop="100dip"
        android:textSize="20sp"
     />

</LinearLayout>


相关文章
|
Android开发
Android 常见对话框的简单使用(提示信息对话框、单选多选对话框、自定义对话框)
Android 常见对话框的简单使用(提示信息对话框、单选多选对话框、自定义对话框)
381 0
Android 常见对话框的简单使用(提示信息对话框、单选多选对话框、自定义对话框)
|
5月前
|
C++
(13)对话框
(13)对话框
|
6月前
ProgressDialog.show进度对话框不显示
ProgressDialog.show进度对话框不显示
55 4
|
Android开发
不可取消的对话框
牙叔教程 简单易懂
131 0
|
存储
PyQt5 技巧篇-复选框绑定行内容,全选、清空、展示选中的内容功能实现演示,设置复选框选中,检查复选框选中状态
PyQt5 技巧篇-复选框绑定行内容,全选、清空、展示选中的内容功能实现演示,设置复选框选中,检查复选框选中状态
472 0
PyQt5 技巧篇-复选框绑定行内容,全选、清空、展示选中的内容功能实现演示,设置复选框选中,检查复选框选中状态
创建动态工具栏并设置工具栏按钮提示
1、创建对话框程序,导入8个图标资源。 2、在对话框头文件中声明变量,代码如下: CToolBar m_ToolBar; CImageList m_ImageList; CString  m_TipText;   3、在对话框中oninitdialg函数中创建工具栏,如下: //创建图像列表 m_ImageList.
963 0