将Activity显示成Dialog的形式:

Tip: If you want a custom dialog, you can instead display an Activity as a dialog instead of using the Dialog APIs. Simply create an activity and set its theme to Theme.Holo.Dialog in the <activity> manifest element:

<activityandroid:theme="@android:style/Theme.Holo.Dialog">

That's it. The activity now displays in a dialog window instead of fullscreen.

将dialog的按钮点击事件传递给Activity:

package leihu.dialogtoactivity;

import android.annotation.SuppressLint;
import android.app.DialogFragment;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity; public class MainActivity extends FragmentActivity implements NoticeDialogFragment.NoticeDialogListener{ @Override
protected void onCreate(Bundle savedInstaceState) {
super.onCreate(savedInstaceState);
setContentView(R.layout.activity_main);
showNoticeDialog();
} @SuppressLint("NewApi")
public void showNoticeDialog(){
DialogFragment dialog = new NoticeDialogFragment();
dialog.show(getFragmentManager(), "NoticeDialogFragment"); } @Override
public void onDialogPositiveClick(DialogFragment dialog) {
// TODO Auto-generated method stub
System.out.println( "Positive button is pressed");
} @Override
public void onDialogNegativeClick(DialogFragment dialog) {
// TODO Auto-generated method stub
System.out.println("Negative button is pressed");
} }

  

package leihu.dialogtoactivity;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle; @SuppressLint("NewApi")
public class NoticeDialogFragment extends DialogFragment{ public interface NoticeDialogListener{
public void onDialogPositiveClick(DialogFragment dialog);
@SuppressLint("NewApi")
public void onDialogNegativeClick(DialogFragment dialog);
} NoticeDialogListener mListener; @SuppressLint("NewApi")
@Override
public void onAttach(Activity activity) { //Called when a fragment is first attached to its activity                                                     //onCreate(Bundle) will be called after this.
super.onAttach(activity);
try {
mListener = (NoticeDialogListener) activity;
} catch (Exception e) {
throw new ClassCastException(activity.toString()
+ " must implement NoticeDialogListener");
}
} @SuppressLint("NewApi")
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("fire missiles")
.setPositiveButton("frie", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
mListener.onDialogPositiveClick(NoticeDialogFragment.this);
}
})
.setNegativeButton("cancel", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
mListener.onDialogNegativeClick(NoticeDialogFragment.this);
}
});
return builder.create();
} }

  

官方关于Dialog的介绍的更多相关文章

  1. 非自定义和自定义Dialog的介绍!!!

    一.非自定义Dialog的几种形式介绍 转自:http://www.kwstu.com/ArticleView/kwstu_20139682354515 前言 对话框对于应用也是必不可少的一个组件,在 ...

  2. ngRx 官方示例分析 - 1. 介绍

    ngRx 的官方示例演示了在具体的场景中,如何使用 ngRx 管理应用的状态. 示例介绍 示例允许用户通过查询 google 的 book  API  来查询图书,并保存自己的精选书籍列表. 菜单有两 ...

  3. JQuery中的dialog使用介绍

    初始化参数 对于 dialog 来说,首先需要进行初始化,在调用 dialog 函数的时候,如果没有传递参数,或者传递了一个对象,那么就表示在初始化一个对话框. 没有参数,表示按照默认的设置初始化对话 ...

  4. Dialog类介绍

    Dialog类实现为一个简单的漂浮窗口,完全在Activity中创建.使用基本的Dialog类,你可以创建一个新的实例并设定标题和布局,如下所示: Dialog d = new Dialog(MyAc ...

  5. spring-data-solr官方学习文档介绍

    spring-data-solr文档介绍如下: 通过http://www.springframework.org/schema/data/solr/spring-solr-1.0.xsd(spring ...

  6. ABP官方文档翻译 1.1 介绍

    介绍 介绍 快速示例 其他 启动模板 如何使用 介绍 我们通常会根据不同的需求来创建不同的应用程序.但是对于一些通用相似的结构总是一遍又一遍的实现,至少在某种程度上是这样的.常见的通用模块如授权.验证 ...

  7. Spring官方文档翻译——15.1 介绍Spring Web MVC框架

    Part V. The Web 文档的这一部分介绍了Spring框架对展现层的支持(尤其是基于web的展现层) Spring拥有自己的web框架--Spring Web MVC.在前两章中会有介绍. ...

  8. JIRA官方:JIRA亮点介绍

    操作超级简单 简单不意味着要以牺牲功能作为代价.JIRA提供了友好.直观的可配置的Web界面,并支持大量的快捷键操作. 跟踪任何事务 跟踪问题.任务.需求,当然还有软件缺陷.定义你自己的事务类型来使之 ...

  9. webstrom官方的活动模版介绍

    编辑模板变量对话框 文件|设置|生活模板--编辑变量Windows和LinuxWebStorm |偏好|生活模板--编辑变量在OS XCtrl + Alt + S 当你点击对话框打开 编辑变量按钮模板 ...

随机推荐

  1. Lucene的初步了解和学习

    Lucene的学习一,什么是全文检索 1.数据的分类 1.结构化数据 格式固定,长度固定,数据类型固定. 例如:数据库中的数据: 2.非结构化数据 word文档,pdf文档,邮件,html,txt 格 ...

  2. Tomcat认识

    Tomcat目录结构: bin:存放启动和关闭的一些脚本 common:共享(部署在该服务器上的一些)jar包 conf:存放服务器的一些配置文件 webapps:部署文件 work:服务器运行时,产 ...

  3. 尝试实现一个简单的C语言string类型

    用过`C++/Java/python/matlab/JS`等语言后,发现都能很轻松的使用string类型,而C只能这样: char str[] = "hello world"; o ...

  4. 使用注解的形式搭建一个springMVC框架

    1.创建SpringMVC的配置文件springmvc-servlet <?xml version="1.0" encoding="UTF-8"?> ...

  5. error C2664: “FILE *fopen(const char *,const char *)”: 无法将参数 1 从“LPCTSTR”转换为“const char *”

    遇到这个问题,请打开本项目的Properties(属性)-------> Configuration Properties(配置属性)-------->General(常规)------- ...

  6. Press Key关键字用法

    语法:Press Key  locator   按键编码 press key关键字后面的键位对应ascii码实际为16进制格式 NULL = '\ue000'CANCEL = '\ue001'  # ...

  7. 网络协议-webService协议

    webservice 协议 Web Service使用的是 SOAP (Simple Object Access Protocol)协议soap协议只是用来封装消息用的.封装后的消息你可以通过各种已有 ...

  8. 攻防世界web进阶区(1)

    1.题目地址:http://111.198.29.45:43589 页面提示打开robots文件,则: 页面有提示输入fl0g.php,那么 获取flag. 2.题目地址:http://111.198 ...

  9. Hadoop基准测试(二)

    Hadoop Examples 除了<Hadoop基准测试(一)>提到的测试,Hadoop还自带了一些例子,比如WordCount和TeraSort,这些例子在hadoop-example ...

  10. css 盒子模型简介

    盒子模型 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...