常用Android对话框的封装

休息无聊,封装了下android常用的对话框,贴到网上方便大家使用,先看下效果图:

    

     简单确定框          简单信息框          三按钮对话框

     

       单选框              多选框             列表选择框


   

     时间选择框          日期选择框          进度条对话框

下面编写主要代码,比较简单,点击对话框按钮时会相应回调函数,在回调函数中处理对应的逻辑。此处也可以直接传入监听器,在监听器中编写业务逻辑。

此处我们用第一种方法。

首先,编写回调函数接口:

public interface Callback 
{
	// 确定按钮回调函数
	public void onPositiveButton();
	// 中间按钮回调函数
	public void onNeutralButton();
	// 取消按钮回调函数
	public void onNegativeButton();
	// 参数中获得相应返回值
	public void onGetReturnValue(ArrayList<Object> ReturnValues);
}

接下来编写对话框类,包含各类对话框:

public class DialogManager
{
	private Context mContext = null;
	private int mSingleChoiceID = -1;
	private Dialog mDialog = null;
	private ProgressDialog mProgressDialog = null;
	private ArrayList<Integer> MultiChoiceID = null;
	private ArrayList<Object> returnValues = null;
	private int mYear = 0;
	private int mMonth = 0;
	private int mDay = 0;
	private int mHour = 0;
	private int mMinute = 0;
	
	public DialogManager(Context context)
	{
		this.mContext = context;
	}
	
	
	/**
	 * 简单确定对话框
	 * @param title
	 * @param msg
	 * @param btnPositiveName
	 * @param isCancelable
	 * @param callback
	 * @return
	 */
	public Dialog showConfirmDialog(
			String title,
			String msg,
			String btnPositiveName,
			boolean isCancelable,
			final Callback callback)
	{	
		AlertDialog.Builder builder = new Builder(mContext);
		builder.setTitle(title);
		builder.setMessage(msg);
		builder.setCancelable(isCancelable);
		builder.setPositiveButton(btnPositiveName, new OnClickListener()
		{
			@Override
			public void onClick(DialogInterface dialog, int which)
			{
				callback.onPositiveButton();
				mDialog.dismiss();
			}
		});
		mDialog = builder.create();
		mDialog.show();
		
		return mDialog;
	}
	
	
	/**
	 * 简单信息提示框
	 * @param title
	 * @param msg
	 * @param btnPositiveName
	 * @param btnNegativeName
	 * @param isCancelable
	 * @param callback
	 * @return
	 * @author Jacky
	 */
	public Dialog showMsgDialog(
			String title,
			String msg,
			String btnPositiveName,
			String btnNegativeName,
			boolean isCancelable,
			final Callback callback)
	{
		AlertDialog.Builder builder = new Builder(mContext);
		builder.setTitle(title);
		builder.setMessage(msg);
		builder.setCancelable(isCancelable);
		builder.setPositiveButton(btnPositiveName, new OnClickListener()
		{
			@Override
			public void onClick(DialogInterface dialog, int which)
			{
				callback.onPositiveButton();
				mDialog.dismiss();
			}
		});
		// 取消
		builder.setNegativeButton(btnNegativeName, new OnClickListener()
		{
			@Override
			public void onClick(DialogInterface dialog, int which)
			{
				callback.onNegativeButton();
				mDialog.dismiss();
			}
		});
		mDialog = builder.create();
		mDialog.show();
		
		return mDialog;
		
	}
	
	
	/**
	 * 有三个按钮的对话框
	 * @param title
	 * @param msg
	 * @param btnPositiveName
	 * @param btnNeutralName
	 * @param btnNegativeName
	 * @param isCancelable
	 * @param callback
	 * @return
	 * @author Jacky
	 */
	public Dialog showThreeBtnDialog(
			String title,
			String msg,
			String btnPositiveName,
			String btnNeutralName,
			String btnNegativeName,
			boolean isCancelable,
			final Callback callback)
	{
		AlertDialog.Builder builder = new Builder(mContext);
		builder.setTitle(title);
		builder.setMessage(msg);
		builder.setCancelable(isCancelable);
		// 左侧按钮
		builder.setPositiveButton(btnPositiveName, new OnClickListener()
		{
			@Override
			public void onClick(DialogInterface dialog, int which)
			{
				callback.onPositiveButton();
				mDialog.dismiss();
			}
		});
		// 中间按钮
		builder.setNeutralButton(btnNeutralName, new OnClickListener()
		{	
			@Override
			public void onClick(DialogInterface dialog, int which) 
			{
				callback.onNeutralButton();
				mDialog.dismiss();
			}
		});
		// 右侧按钮
		builder.setNegativeButton(btnNegativeName, new OnClickListener()
		{
			@Override
			public void onClick(DialogInterface dialog, int which)
			{
				callback.onNegativeButton();
				mDialog.dismiss();
			}
		});
		mDialog = builder.create();
		mDialog.show();
		
		return mDialog;
	}
	
	
	/**
	 * 单项选择框
	 * @param title
	 * @param mItems
	 * @param btnPositiveName
	 * @param btnNegativeName
	 * @param isCancelable
	 * @param callback
	 * @return
	 * @author Jacky
	 */
	public Dialog showSingleChoiceDialog(
			String title,
			final String[] mItems,
			String btnPositiveName,
			String btnNegativeName,
			boolean isCancelable,
			final Callback callback)
	{
        AlertDialog.Builder builder = new AlertDialog.Builder(mContext);        
        builder.setTitle(title);
        builder.setCancelable(isCancelable);
        builder.setSingleChoiceItems(mItems, 0, new DialogInterface.OnClickListener() 
        {
        	public void onClick(DialogInterface dialog, int whichButton)
        	{
        		mSingleChoiceID = whichButton;
            }
        });
        builder.setPositiveButton(btnPositiveName, new DialogInterface.OnClickListener() 
        {
        	public void onClick(DialogInterface dialog, int whichButton)
        	{
        		returnValues = new ArrayList<Object>();
        		returnValues.add(mItems[mSingleChoiceID]);
        		callback.onGetReturnValue(returnValues);
        		mDialog.dismiss();
            }
        });
        builder.setNegativeButton(btnNegativeName, new DialogInterface.OnClickListener()
        {
        	public void onClick(DialogInterface dialog, int whichButton)
        	{
        		callback.onNegativeButton();
        		mDialog.dismiss();
            }
        });
        mDialog = builder.create();
        mDialog.show();
        
        return mDialog;
	}
	
	
	/**
	 * 列表选择框
	 * @param title
	 * @param mItems
	 * @param isCancelable
	 * @param callback
	 * @return
	 * @author Jacky
	 */
	public Dialog showListDialog(
			String title,
			final String[] mItems,
			boolean isCancelable,
			final Callback callback)
	{
        AlertDialog.Builder builder = new AlertDialog.Builder(mContext);        
        builder.setTitle(title);
        builder.setCancelable(isCancelable);
        builder.setItems(mItems, new DialogInterface.OnClickListener() 
        {
            public void onClick(DialogInterface dialog, int which) 
            {
        		returnValues = new ArrayList<Object>();
        		returnValues.add(mItems[which]);
        		callback.onGetReturnValue(returnValues);
        		mDialog.dismiss();
            }
        });
        mDialog = builder.create();
        mDialog.show();
        
        return mDialog;
	}
	
	
	/**
	 * 多选对话框
	 * @param title
	 * @param mItems
	 * @param btnPositiveName
	 * @param btnNegativeName
	 * @param isCancelable
	 * @param callback
	 * @return
	 * @author Jacky
	 */
	public Dialog showMultiChoiceDialog(
			String title,
			final String[] mItems,
			String btnPositiveName,
			String btnNegativeName,
			boolean isCancelable,
			final Callback callback)
	{
		MultiChoiceID = new ArrayList<Integer>();
        AlertDialog.Builder builder = new AlertDialog.Builder(mContext);        
        builder.setTitle(title);
        builder.setCancelable(isCancelable);
        builder.setMultiChoiceItems(mItems,
                    new boolean[mItems.length],
                    new DialogInterface.OnMultiChoiceClickListener() 
        			{
                        public void onClick(DialogInterface dialog, int whichButton, boolean isChecked)
                        {
                           if(isChecked)
                           {
                               MultiChoiceID.add(whichButton);
                           }
                           else 
                           {
                        	   /*ArrayList 的 remove() 函数有两个重载版本,一个参数为要删除的位置,一个参数为要删除的对象
                        	    * 此处若不提示系统调用的参数为对象时,有有时调用另一个版本,可能会导致越界错误,要注意*/
                               MultiChoiceID.remove((Integer)whichButton);
                           }
                            
                        }
                    });
        builder.setPositiveButton(btnPositiveName, new DialogInterface.OnClickListener() 
        {
        	public void onClick(DialogInterface dialog, int whichButton) 
        	{
        		returnValues = new ArrayList<Object>();
                int size = MultiChoiceID.size();
                for (int i = 0 ;i < size; i++)
                {
                	returnValues.add(mItems[MultiChoiceID.get(i)]);
                }
                callback.onGetReturnValue(returnValues);
                
                mDialog.dismiss();
            }
        });
        builder.setNegativeButton(btnNegativeName, new DialogInterface.OnClickListener()
        {
        	public void onClick(DialogInterface dialog, int whichButton)
            {
        		callback.onNegativeButton();
        		mDialog.dismiss();
            }
        });
        mDialog = builder.create();
        mDialog.show();
           
        return mDialog;
	}
	
	
	/**
	 * 显示进度条对话框
	 * @param title
	 * @param msg
	 * @param btnName
	 * @param isCancelable
	 * @param callback
	 * @return
	 * @author Jacky
	 */
	public ProgressDialog showProgressDialog(
			String title,
			String msg,
			String btnNegativeName,
			boolean isCancelable,
			final Callback callback)
	{
		 mProgressDialog = new ProgressDialog(mContext);
		 mProgressDialog.setTitle(title);
		 mProgressDialog.setMessage(msg);
		 mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
		 mProgressDialog.setCancelable(isCancelable);
		 mProgressDialog.setButton(ProgressDialog.BUTTON_NEGATIVE, btnNegativeName, new OnClickListener()
		 {	
			@Override
			public void onClick(DialogInterface dialog, int which)
			{
				callback.onNegativeButton();
				mProgressDialog.dismiss();
			}
		});
		mProgressDialog.show();
		 
		return mProgressDialog;
	}
	
	
	/**
	 * 日期选择提示框
	 * @param title
	 * @param year
	 * @param month
	 * @param day
	 * @param btnPositiveName
	 * @param btnNegativeName
	 * @param isCancelable
	 * @param callback
	 * @return
	 * @author Jacky
	 */
	public DatePickerDialog showDatePickerDialog(
			String title,
			String btnPositiveName,
			String btnNegativeName,
			boolean isCancelable,
			final Callback callback)
	{
		Calendar mCalendar = Calendar.getInstance();
		final DatePickerDialog mDatePickerDialog = new DatePickerDialog(
				mContext,
				new OnDateSetListener() {
					
					@Override
					public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth)
					{
						returnValues = new ArrayList<Object>();
						returnValues.add(format(year));
						returnValues.add(format(monthOfYear + 1));
						returnValues.add(format(dayOfMonth));
						callback.onGetReturnValue(returnValues);
					}
				}, 
				mCalendar.get(mCalendar.YEAR),
				mCalendar.get(mCalendar.MONTH),
				mCalendar.get(mCalendar.DAY_OF_MONTH));
		mDatePickerDialog.setTitle(title);
		mDatePickerDialog.setCancelable(isCancelable);
		mDatePickerDialog.show();
		
		return mDatePickerDialog;
	}
	
	
	/**
	 * 时间选择对话框
	 * @param title
	 * @param hour
	 * @param minute
	 * @param is24Hour
	 * @param btnPositiveName
	 * @param btnNegativeName
	 * @param isCancelable
	 * @param callback
	 * @return
	 * @author Jacky
	 */
	public TimePickerDialog showTimerPickerDialog(
			String title,
			int paramHour,
			int prarmMinute,
			boolean is24Hour,
			String btnPositiveName,
			String btnNegativeName,
			boolean isCancelable,
			final Callback callback)
	{
		final TimePickerDialog mTimerPickerDialog = new TimePickerDialog(
				mContext, 
				new OnTimeSetListener() 
				{
					@Override
					public void onTimeSet(TimePicker view, int hourOfDay, int minute) 
					{
						returnValues = new ArrayList<Object>();
						returnValues.add(format(hourOfDay));
						returnValues.add(format(minute));
						callback.onGetReturnValue(returnValues);
					}
				}, paramHour, prarmMinute, is24Hour);
		mTimerPickerDialog.setTitle(title);
		mTimerPickerDialog.setCancelable(isCancelable);
		mTimerPickerDialog.show();
		
		return mTimerPickerDialog;
	}
	
	
	/**
	 * 转换日期时间格式
	 * @param original
	 * @return
	 */
	private String format(int original)
	{
		String str = "" + original;
		if(1 == str.length())
		{
			str = "0" + str;
		}
		
		return str;
	}
}
最后,在activity主线程中处理业务逻辑。也可以将回调函数放在其他的类中:

public class MainActivity extends Activity 
{
	private Button mConfirmDialogBtn = null;
	private Button mMsgDialogBtn = null;
	private Button mProgressDialogBtn = null;
	private Button mThreeBtnDialogBtn = null;
	private Button mSingleChoiceDialogBtn = null;
	private Button mMultiChoiceDialogBtn = null;
	private Button mListDialogBtn = null;
	private Button mDatePickerDialogBtn = null;
	private Button mTimePickerDialogBtn = null;
	private Button mCustomDialogBtn = null;
	private DialogManager mDialogManager = null;
	
	private Dialog mMsgDialog = null;
	private Dialog mConfirmDialog = null;
	private Dialog mThreeBtnDialog = null;
	private Dialog mSingleChoiceDialog = null;
	private Dialog mListDialog = null;
	private Dialog mMultiChoiceDialog = null;
	private ProgressDialog mProgressDialog = null;
	private DatePickerDialog mDatePickerDialog = null;
	private TimePickerDialog mTimePickerDialog = null;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		mDialogManager = new DialogManager(MainActivity.this);
		
		mConfirmDialogBtn = (Button) findViewById(R.id.confirmDialogBtn);
		mMsgDialogBtn = (Button) findViewById(R.id.msgDialogBtn);
		mThreeBtnDialogBtn = (Button) findViewById(R.id.ThreeBtnDialogBtn);
		mSingleChoiceDialogBtn = (Button) findViewById(R.id.SingleChoiceDialogBtn);
		mMultiChoiceDialogBtn = (Button) findViewById(R.id.MultiChoiceDialogBtn);
		mListDialogBtn = (Button) findViewById(R.id.ListDialogBtn);
		mProgressDialogBtn = (Button) findViewById(R.id.progressDialogBtn);
		mDatePickerDialogBtn = (Button) findViewById(R.id.DatePickerDialogBtn);
		mTimePickerDialogBtn = (Button) findViewById(R.id.TimePickerDialogBtn);
		mCustomDialogBtn = (Button) findViewById(R.id.confirmDialogBtn);
		
		
		/*简单确定框*/
		mConfirmDialogBtn.setOnClickListener(new OnClickListener()
		{
			@Override
			public void onClick(View v) 
			{
				mConfirmDialog = mDialogManager.showConfirmDialog("提示", "简单确定框", "确定", true, new MyConfirmDialogCallback());
			}
		});
		
//		/*简单信息框*/
		mMsgDialogBtn.setOnClickListener(new OnClickListener()
		{
			@Override
			public void onClick(View v) 
			{
				mMsgDialog = mDialogManager.showMsgDialog("提示", "简单信息框", "确定", "取消", true, new MyMsgDialogCallback()); 
			}
		});
		
		
		/*三按钮对话框*/
		mThreeBtnDialogBtn.setOnClickListener(new OnClickListener()
		{
			@Override
			public void onClick(View v) 
			{
				mThreeBtnDialog = mDialogManager.showThreeBtnDialog("提示", "请选择", "确定", "中立", "取消", true, new MyThreeBtnDialogCallback());
			}
		});
		
		/*单选对话框*/
		mSingleChoiceDialogBtn.setOnClickListener(new OnClickListener()
		{
			@Override
			public void onClick(View v) 
			{
				String[] mItems = new String[]{"关羽", "赵云", "张飞", "马超" ,"黄忠"};
				mSingleChoiceDialog = mDialogManager.showSingleChoiceDialog("提示", mItems, "确定", "取消", true, new MySingleChoiceDialogCallback());
			}
		});
		
		/*多选对话框*/
		mMultiChoiceDialogBtn.setOnClickListener(new OnClickListener()
		{
			@Override
			public void onClick(View v) 
			{
				String[] mItems = new String[]{"关羽", "赵云", "张飞", "马超" ,"黄忠"};
				mMultiChoiceDialog = mDialogManager.showMultiChoiceDialog("提示", mItems, "确定", "取消", true, new MyMultiChoiceDialogCallback());
			}
		});
		
		/*列表对话框*/
		mListDialogBtn.setOnClickListener(new OnClickListener()
		{
			@Override
			public void onClick(View v) 
			{
				String[] mItems = new String[]{"关羽", "赵云", "张飞", "马超" ,"黄忠"};
				mListDialog = mDialogManager.showListDialog("提示", mItems, true, new MyListDialogCallback());
			}
		});
		
		/*进度条对话框*/
		mProgressDialogBtn.setOnClickListener(new OnClickListener()
		{	
			@Override
			public void onClick(View view) 
			{
				mProgressDialog = mDialogManager.showProgressDialog("进度条提示框", "可以点击取消", "取消", true, new MyProgressCallback());
				mProgressDialog.setMax(100);
				new Thread(new Runnable()
				{	
					int progress = 0;
					@Override
					public void run()
					{
						for (;progress <= 100; progress += 10)
						{
							Message msg = new Message();
							msg.what = 0x0001;
							msg.obj = progress;
							mHandler.sendMessage(msg);
							try 
							{
								Thread.sleep(100);
							} catch (InterruptedException e) 
							{
								e.printStackTrace();
							}
						}
					}
				}).start();
			}
		});
		
		/*日期对话框*/
		mDatePickerDialogBtn.setOnClickListener(new OnClickListener()
		{	
			@Override
			public void onClick(View v) 
			{
				mDatePickerDialog = mDialogManager.showDatePickerDialog("设置日期", "设置", "取消", true, new MyDatePickerDialogCallback());
			}
		});
		
		/*时间对话框*/
		mTimePickerDialogBtn.setOnClickListener(new OnClickListener()
		{	
			@Override
			public void onClick(View v) 
			{
				mTimePickerDialog = mDialogManager.showTimerPickerDialog("设置时间", 00, 00, true, "设置", "取消", true, new MyTimePickerDialogCallback());
			}
		});
		
//		/*自定义对话框*/
//		mCustomDialogBtn.setOnClickListener(new OnClickListener() 
//		{	
//			@Override
//			public void onClick(View v) 
//			{
//			}
//		});
	}
	
	Handler mHandler = new Handler()
	{

		@Override
		public void handleMessage(Message msg) 
		{
			switch(msg.what)
			{
				case 0x0001:
					
					mProgressDialog.setProgress((Integer)msg.obj);
					
					break;
					
				default:
					
			}
			
		}
		
	};
	
	/*定义简单信息对话框回调函数*/
	class MyMsgDialogCallback implements Callback
	{
		@Override
		public void onPositiveButton() 
		{
			Toast.makeText(getApplicationContext(), "您点击了确定", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onNeutralButton()
		{}

		@Override
		public void onNegativeButton()
		{
			Toast.makeText(getApplicationContext(), "您点击了取消", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onGetReturnValue(ArrayList<Object> ReturnValues)
		{}
		
	}
	
	/*定义简单确定对话框回调函数*/
	class MyConfirmDialogCallback implements Callback
	{

		@Override
		public void onPositiveButton() 
		{
			Toast.makeText(getApplicationContext(), "您点击了确定", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onNeutralButton() 
		{}

		@Override
		public void onNegativeButton() 
		{}

		@Override
		public void onGetReturnValue(ArrayList<Object> ReturnValues) 
		{}
		
	}
	
	/*定义三按钮对话框回调函数*/
	class MyThreeBtnDialogCallback implements Callback
	{

		@Override
		public void onPositiveButton() 
		{
			Toast.makeText(getApplicationContext(), "您点击了确定", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onNeutralButton()
		{
			Toast.makeText(getApplicationContext(), "您点击了中立", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onNegativeButton()
		{
			Toast.makeText(getApplicationContext(), "您点击了取消", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onGetReturnValue(ArrayList<Object> ReturnValues)
		{}
		
	}
	
	/*定义单选对话框回调函数*/
	class MySingleChoiceDialogCallback implements Callback
	{
		@Override
		public void onPositiveButton() 
		{
			Toast.makeText(getApplicationContext(), "您点击了确定", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onNeutralButton()
		{}

		@Override
		public void onNegativeButton()
		{
			Toast.makeText(getApplicationContext(), "您点击了取消", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onGetReturnValue(ArrayList<Object> ReturnValues)
		{
			String returnValue = (String) ReturnValues.get(0);
			Toast.makeText(getApplicationContext(), returnValue, Toast.LENGTH_LONG).show();
		}
	}
	
	/*定义多选对话框回调函数*/
	class MyMultiChoiceDialogCallback implements Callback
	{
		@Override
		public void onPositiveButton() 
		{
			Toast.makeText(getApplicationContext(), "您点击了确定", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onNeutralButton()
		{}

		@Override
		public void onNegativeButton()
		{
			Toast.makeText(getApplicationContext(), "您点击了取消", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onGetReturnValue(ArrayList<Object> ReturnValues)
		{
			int count = ReturnValues.size();
			String strReturnValue = ""; 
			for (int i = 0; i < count - 1; i++)
			{
				strReturnValue += ReturnValues.get(i) + "\n";
			}
			strReturnValue += ReturnValues.get(count - 1);
			
			Toast.makeText(getApplicationContext(), strReturnValue, Toast.LENGTH_LONG).show();
		}
	}
	
	/*定义列表对话框回调函数*/
	class MyListDialogCallback implements Callback
	{
		@Override
		public void onPositiveButton() 
		{}

		@Override
		public void onNeutralButton()
		{}

		@Override
		public void onNegativeButton()
		{}

		@Override
		public void onGetReturnValue(ArrayList<Object> ReturnValues)
		{
			String returnValue = (String) ReturnValues.get(0);
			Toast.makeText(getApplicationContext(), returnValue, Toast.LENGTH_LONG).show();
		}
	}
	
	/*定义进度条对话框回调函数*/
	class MyProgressCallback implements Callback
	{
		@Override
		public void onPositiveButton()
		{
		}
		
		@Override
		public void onNeutralButton() 
		{	
		}

		@Override
		public void onNegativeButton() 
		{
			Toast.makeText(getApplicationContext(), "您点击了取消", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onGetReturnValue(ArrayList<Object> ReturnValues)
		{
		}
	}
	
	/*定义日期对话框回调函数*/
	class MyDatePickerDialogCallback implements Callback
	{
		@Override
		public void onPositiveButton() 
		{
		}

		@Override
		public void onNeutralButton() 
		{
		}

		@Override
		public void onNegativeButton() 
		{
			Toast.makeText(getApplicationContext(), "您点击了取消", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onGetReturnValue(ArrayList<Object> ReturnValues) 
		{	
			int count = ReturnValues.size();
			String strReturnValue = ""; 
			for (int i = 0; i < count - 1; i++)
			{
				strReturnValue += ReturnValues.get(i) + "-";
			}
			strReturnValue += ReturnValues.get(count - 1);
			
			Toast.makeText(getApplicationContext(), strReturnValue, Toast.LENGTH_LONG).show();
		}
	}
	
	/*定义时间对话框回调函数*/
	class MyTimePickerDialogCallback implements Callback
	{
		@Override
		public void onPositiveButton() 
		{
		}

		@Override
		public void onNeutralButton() 
		{
		}

		@Override
		public void onNegativeButton() 
		{
			Toast.makeText(getApplicationContext(), "您点击了取消", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onGetReturnValue(ArrayList<Object> ReturnValues) 
		{	
			int count = ReturnValues.size();
			String strReturnValue = ""; 
			for (int i = 0; i < count - 1; i++)
			{
				strReturnValue += ReturnValues.get(i) + ":";
			}
			strReturnValue += ReturnValues.get(count - 1);
			
			Toast.makeText(getApplicationContext(), strReturnValue, Toast.LENGTH_LONG).show();
		}
	}
	
	/*自定义对话框回调函数*/
	class MyCustomDialogCallback implements Callback
	{
		@Override
		public void onPositiveButton() 
		{
		}

		@Override
		public void onNeutralButton() 
		{
		}

		@Override
		public void onNegativeButton() 
		{
			Toast.makeText(getApplicationContext(), "您点击了取消", Toast.LENGTH_LONG).show();
		}

		@Override
		public void onGetReturnValue(ArrayList<Object> ReturnValues) 
		{	
		}
	}
}
代码比较简单,可以根据需要自行修改,但注意Android中与用户交互的对话框,Toast等必须放在UI主线程中,对于子线程,需要和用户交互时。可通过广播或Handler等更新UI。

最后,附上完整代码下载地址:http://download.csdn.net/detail/u010538765/6303059。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值