Android的自定义对话框 [英] Android Custom Dialog

查看:144
本文介绍了Android的自定义对话框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个自定义对话框,下面对Android的教程开发者网站,但它崩溃每次我试图显示对话框的时间。这里是我的code:

 上下文mContext = getApplicationContext();
对话的对话=新的对话框(mContext);dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle(自定义对话框);
dialog.show();

这是我的XML的布局:

 <?XML版本=1.0编码=UTF-8&GT?;
< RelativeLayout的
    机器人:ID =@ + ID / layout_root
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =FILL_PARENT
    机器人:填充=10dp
    的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android>
    <按钮
        机器人:ID =@ + ID / btnConfirm
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:文字=添加文字
        机器人:layout_below =@ + ID / txtNewText
        机器人:layout_alignParentLeft =真正的>
    < /按钮>
    <的EditText
        机器人:ID =@ + ID / txtNewText
        机器人:layout_width =FILL_PARENT
        机器人:layout_height =WRAP_CONTENT
        机器人:TEXTSIZE =18sp
        机器人:layout_alignParentTop =真
        机器人:layout_alignParentLeft =真正的>
    < /&的EditText GT;
< / RelativeLayout的>


解决方案

考虑模式:

 私有静态最终诠释MY_DIALOG = 0;保护对话框onCreateDialog(INT ID){
    对话的对话;
    开关(ID){
        案例MY_DIALOG:
            对话框= getInstanceMyDialog();
            打破;
        默认:
            对话框= NULL;
    }
    返回对话框;
}私人对话getInstanceMyDialog(){
    最后一个对话框D =新的对话框(本); //<本=====
    d.setContentView(R.layout.custom_dialog);
    d.setTitle(自定义对话框);
    返回D组;
}

JAL

I'm trying to make a custom dialog, following the tutorial on the Android developer site, but it crashes every time I try to show the dialog. Here's my code:

Context mContext = getApplicationContext();
Dialog dialog = new Dialog(mContext);

dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle("Custom Dialog");
dialog.show();

And here's my XML for the layout:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:id="@+id/layout_root"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <Button
        android:id="@+id/btnConfirm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Add text"
        android:layout_below="@+id/txtNewText"
        android:layout_alignParentLeft="true">
    </Button>
    <EditText
        android:id="@+id/txtNewText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true">
    </EditText>
</RelativeLayout>

解决方案

Consider the pattern:

private static final int MY_DIALOG= 0;

protected Dialog onCreateDialog(int id) {
    Dialog dialog;
    switch(id) {
        case MY_DIALOG:
            dialog= getInstanceMyDialog();
            break;
        default:
            dialog = null;
    }
    return dialog;
}

private Dialog getInstanceMyDialog() {
    final Dialog d= new Dialog(this); //<=====THIS
    d.setContentView(R.layout.custom_dialog);
    d.setTitle("Custom Dialog");
    return d;
}

JAL

这篇关于Android的自定义对话框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆