一个简单的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() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog();
}
});
}
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;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// TODO Auto-generated method stub
int args = getArguments().getInt("title");
//根据传进来的参数选择创建哪种Dialog
switch (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 stub
System.out.println("hour-->"+hourOfDay+" minute-->"+ minute);
}
}, 13, 23, true);
}
return null;
}
}
工程下载
分享到:
相关推荐
在Android应用开发中,对话框(Dialog)是一种常见的交互元素,用于向用户显示临时信息或进行简单的用户交互。DialogFragment是Android SDK提供的一种用于管理对话框的组件,它结合了Fragment的功能,使得对话框可以...
本文实例讲述了Android开发之DialogFragment用法。分享给大家供大家参考,具体如下: 背景 Android 官方推荐使用 DialogFragment 来代替 Dialog ,可以让它具有更高的可复用性(降低耦合)和更好的便利性(很好的...
在Android应用开发中,对话框(Dialog)是与用户交互的重要元素,分为模态和非模态两种类型。本文将详细介绍这两种对话框的实现,并结合源码和工具进行讲解。 模态对话框(Modal Dialog)是一种阻塞用户界面直至...
在Android开发中,DialogFragment是Android SDK提供的一种用于在应用程序中显示对话框的组件。它结合了Fragment的特性,使得对话框可以具有更多的交互性和可定制性,同时保持与Activity的生命周期同步。在这个...
1. **PopWindow**:`PopWindow`是Android中一种类似气泡提示的小窗口,可以快速地显示一些临时信息或者提供一些简单的操作选项。它可以悬浮在Activity之上,具有高度的灵活性和自定义性。创建`PopWindow`通常包括...
在Android开发中,Dialog和DialogFragment是两种常用的用于创建弹出式对话框的组件。它们在用户界面交互中扮演着重要角色,允许用户在主应用界面之外进行一些操作而不离开当前活动。这篇博客深入探讨了这两者的源码...
在Android应用开发中,DialogFragment是一个重要的组件,它结合了Fragment的功能和对话框的特性。DialogFragment是Android 3.0(API级别11)引入的,它允许开发者在应用程序中以对话形式展示内容,同时保留了...
在Android开发中,DialogFragment是Fragment的一个子类,它提供了创建对话框式界面的功能。相比传统的AlertDialog,DialogFragment更易于管理生命...在实际项目中,这些知识将帮助你构建更稳定、更健壮的Android应用。
Android Activity进出动画是Android应用程序中非常重要的一部分,能够提高用户体验和应用程序的整体质量。本文将介绍Android Activity进出动画的三种方法,分别是使用overridePendingTransition()方法、在清单文件中...
在Android开发中,对话框(Dialog)是一...以上就是Android中五种常见的对话框实现,它们在实际开发中具有广泛的应用,可以根据不同场景选择合适的对话框类型。提供的完整源代码可以帮助开发者快速理解和移植这些功能。
本篇文章将深入探讨`Android程序 preference应用`,并结合一个注册案例来详细阐述如何在应用程序中使用Preference及其数据存储机制。 首先,`Preference`类是Android SDK中的一个关键组件,位于`android.preference...
首先,我们要理解Android Studio作为Google官方推荐的Android应用开发集成开发环境(IDE),其强大的功能和易用性为开发者提供了便利。在构建这款记事本App时,开发者首先会利用Android Studio的项目模板创建一个新...
【Android简易通讯录】是一个适合初学者学习的项目,它提供了基本的联系人管理功能,让你能够理解Android应用开发的基本架构和组件。这个项目没有包括通话和短信功能,但你可以根据自己的需求进行扩展。 首先,...
这个压缩包文件“Android应用源码简易文件浏览管理器项目.zip”显然包含了开发一个基本的Android文件浏览管理器应用的所有源代码。这个项目对于初学者和有经验的开发者来说都是一个很好的学习资源,因为它提供了实际...
在Android中,Dialog是弹出式窗口,它通常用于显示一些临时信息或进行简单的用户交互。要创建一个自定义的Dialog,首先你需要继承`DialogFragment`类并重写其`onCreateDialog()`方法。在这个方法中,你可以使用`...
在Android开发中,对话框(Dialog)是一种常见的用户交互组件,用于显示临时信息或与用户进行简单的交互。`android-styled-dialogs` 是一个专为Android应用设计的源码库,它提供了可自定义样式的对话框解决方案。...
在本资源"Android应用源码之课程表.rar"中,我们获取到的是一款基于Android平台的课程表应用程序的源代码。这个源代码可以帮助开发者深入了解如何在Android平台上开发一个实用的、用户友好的课程表应用。下面我们将...
在Android应用开发中,对话框(Dialog)是一种重要的交互元素,用于向用户显示临时信息或进行简单的用户交互。本示例主要关注`Android`中的几种基本对话框类型:普通AlertDialog、列表对话框(ListDialog)、进度...
对于初学者来说,一个基础且实用的项目是构建一个简单的通讯录应用,这将有助于理解Android开发的基本概念和技术。 首先,通讯录应用的核心功能包括添加联系人、查看联系人、编辑联系人和删除联系人。在Android中,...