萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 安卓開發 >> Android列表對話框和進度對話框

Android列表對話框和進度對話框

 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>


 

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;
			}
		}

	}
	
}
copyright © 萬盛學電腦網 all rights reserved