Dialog
1.实现清除对话框
1.1.清除对话框创建
public class ClearDialogFragment extends DialogFragment { private ClearDialogFragmentListener mListener; @Override public void onAttach(Activity activity) { super.onAttach(activity); try{ mListener= (ClearDialogFragmentListener) activity; }catch (ClassCastException e){ throw new ClassCastException(activity.toString()+"必须实现ClearDialogFragmentListener接口"); } } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder=new AlertDialog.Builder(getActivity()); builder.setMessage("清除所有文字?").setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { mListener.onDialogPositiveClicked(ClearDialogFragment.this); } }) .setNegativeButton("取消",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); return builder.create(); } public interface ClearDialogFragmentListener{ public void onDialogPositiveClicked(DialogFragment dialogFragment); } }
1.2.实现清除效果
public class MainActivity extends Activity implements View.OnClickListener,ClearDialogFragment.ClearDialogFragmentListener { EditText name,memo; Button send,clear; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); clear= (Button) this.findViewById(R.id.clear); clear.setOnClickListener(this); send= (Button) this.findViewById(R.id.send); send.setOnClickListener(this); name= (EditText) this.findViewById(R.id.name); memo= (EditText) this.findViewById(R.id.memo); } @Override public void onDialogPositiveClicked(DialogFragment dialogFragment) { name.setText(""); memo.setText(""); } @Override public void onClick(View v) { int id=v.getId(); if(id==R.id.clear){ ClearDialogFragment d=new ClearDialogFragment(); d.show(this.getFragmentManager(),"clear"); } } }
2.多按钮对话框
其他的形式,可参考http://www.cnblogs.com/salam/archive/2010/11/15/1877512.html
@Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder=new AlertDialog.Builder(getActivity()); builder.setMessage("你喜欢吃巧克力吗?").setPositiveButton("喜欢", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }) .setNeutralButton("一般",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }) .setNegativeButton("不喜欢", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); return builder.create(); }