首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android DialogFragment简略应用

2012-06-27 
android DialogFragment简单应用一个简单的DialogFragment应用因为Activity的showDialog(int id)被弃用了,

android DialogFragment简单应用
一个简单的DialogFragment应用
因为Activity的showDialog(int id)被弃用了,要使用DatePickerDialog,TimePickerDialog,AlterDialog都要继承DialogFragment.
布局文件就一个Button,就不写出来了.

MainActivity.java

package sky.dialog;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Button bt = (Button) findViewById(R.id.showDialog);        bt.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubshowDialog();}});    }    public void showDialog()    {    //根据传进的参数来实例化DialogFragment.    MyDialogFragment newDialog = MyDialogFragment.newInstance(MyDialogFragment.ALTER_DIALOG);//    MyDialogFragment newDialog = MyDialogFragment.newInstance(MyDialogFragment.DATE_PICKER_DIALOG);//    MyDialogFragment newDialog = MyDialogFragment.newInstance(MyDialogFragment.TIME_PICKER_DiALOG);    newDialog.show(getFragmentManager(), "alert msg");    }}


MyDialogFragment.java
package sky.dialog;import android.app.DatePickerDialog;import android.app.DatePickerDialog.OnDateSetListener;import android.app.AlertDialog;import android.app.Dialog;import android.app.DialogFragment;import android.app.TimePickerDialog;import android.app.TimePickerDialog.OnTimeSetListener;import android.content.DialogInterface;import android.os.Bundle;import android.widget.DatePicker;import android.widget.TimePicker;public class MyDialogFragment extends DialogFragment {public static final int DATE_PICKER_DIALOG = 1;public static final int ALTER_DIALOG = 2;public static final int TIME_PICKER_DiALOG = 3;public static MyDialogFragment newInstance(int title) {MyDialogFragment myDialogFragment = new MyDialogFragment();Bundle bundle = new Bundle();bundle.putInt("title", title);myDialogFragment.setArguments(bundle);return myDialogFragment;}@Overridepublic Dialog onCreateDialog(Bundle savedInstanceState) {// TODO Auto-generated method stubint args = getArguments().getInt("title");//根据传进来的参数选择创建哪种Dialogswitch (args) {case DATE_PICKER_DIALOG:return new DatePickerDialog(getActivity(), new OnDateSetListener() {public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {// TODO Auto-generated method stub//月是从0开始的System.out.println( "year-->" + year + "  month-->" + monthOfYear+ "  day-->" + dayOfMonth);}}, 2012,3, 26);case ALTER_DIALOG:return new AlertDialog.Builder(getActivity()).setIcon(R.drawable.ic_launcher).setTitle(getTag()).setPositiveButton("ok",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int whichButton) {//点击ok触发的事件System.out.println("click ok!");}}).setNegativeButton("cancle",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int whichButton) {//点击cancle触发的时间System.out.println("click cancle");}}).create();case TIME_PICKER_DiALOG:return new TimePickerDialog(getActivity(),new OnTimeSetListener() {public void onTimeSet(TimePicker view, int hourOfDay, int minute) {// TODO Auto-generated method stubSystem.out.println("hour-->"+hourOfDay+"  minute-->"+ minute);}}, 13, 23, true);}return null;}}


工程下载

热点排行