DialogFragment示例

来源:互联网 发布:mac air 还是pro 编辑:程序博客网 时间:2024/05/29 18:13

 

]

 ///////////////////////////////////////////////////////////////////////////////////////////

package com.example.fragmentalertdialogtest;/** * 从Android3.0之后,增加Fragment类,该类有一个子类叫DialogFragment类, * 可以用于显示对话框,本示例就是演示该技术的。 * */import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.app.DialogFragment;import android.content.DialogInterface;import android.view.View;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Button show = new Button(this);show.setText("确定");show.setOnClickListener(new android.view.View.OnClickListener() {@Overridepublic void onClick(View v) {DialogFragment newFragment = MyAlertDialogFragment.newInstance("天气");// 把newFragment交给FragmentManager对象,与Activity绑定// 当对话框dimss后,会自动解除绑定// 触发MyAlertDialogFragment中的函数onCreateDialog被回调用newFragment.show(MainActivity.this.getFragmentManager(),"sdfsdf");}});this.setContentView(show);}public static class MyAlertDialogFragment extends DialogFragment {public static MyAlertDialogFragment newInstance(String title) {MyAlertDialogFragment frag = new MyAlertDialogFragment();Bundle args = new Bundle();args.putString("title", title);frag.setArguments(args);return frag;}@Overridepublic Dialog onCreateDialog(Bundle savedInstanceState) {String title = this.getArguments().getString("title");// 取出与this表示的DialogFragment绑定的Activity对象AlertDialog.Builder builder = new AlertDialog.Builder(this.getActivity());builder.setIcon(R.drawable.ic_launcher);builder.setTitle(title);// 既定出对话框builder.setNegativeButton("取消",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog,int whichButton) {}});builder.setPositiveButton("确定",new DialogInterface.OnClickListener() {// 显示Toast.并退出对话框@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(getActivity(), "睛转多云",Toast.LENGTH_LONG).show();}});AlertDialog dialog = builder.create();Button button = new Button(getActivity());button.setText("显示");button.setOnClickListener(new View.OnClickListener() {// 显示Toast,但是对话框不退出@Overridepublic void onClick(View v) {Toast.makeText(v.getContext(), "我是对话框", 1).show();}});dialog.setView(button);dialog.show();return dialog;}}}

源码下载地址:http://download.csdn.net/detail/far_sight/7930829
 

0 0
原创粉丝点击