gpt4 book ai didi

android - 如何删除 Dialog(int dialogID) Android?

转载 作者:行者123 更新时间:2023-11-29 16:16:37 24 4
gpt4 key购买 nike

我用一个对话框扩展了我的类(class),我在其中设置了内容 View 和其他按钮 Action 监听器等...发生的事情是,当我创建我的对话框时,它会正确显示背景。

但是一次又一次地打开它是内容 View 的问题,随意添加的东西,大部分 UI 元素重复,背景图像消失。

我知道对话框创建一次并用作缓存,我不希望我知道 Android Activity 中有一个方法 removeDialog(int dialogID) 但我不知道该用谁,我不知道不要为我的对话框提供任何 ID 我不知道如何为对话框提供 ID。

#dialog code

public class OptionsDailog extends Dialog implements OnClickListener {
public OptionsDailog(Activity pContext) {
super(pContext, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
mContext = pContext;
setContentView(R.layout.option_menu);
setBasicContents();
}

#options_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/rl_root_option_menu">
<RelativeLayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:background="@drawable/bg_episode" android:id="@+id/rl_option_screen">
<LinearLayout android:id="@+id/ll_options" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true">
<Button android:text="Achievements" android:textSize="18sp" android:id="@+id/btn_achievements" android:background="@drawable/bg_options_menu" android:textColor="#FFFFFF" android:layout_width="250dp" android:layout_height="60dp"></Button>
<Button android:text="Tutorial" android:textSize="18sp" android:id="@+id/btn_tutorial" android:background="@drawable/bg_options_menu" android:textColor="#FFFFFF" android:layout_width="250dp" android:layout_height="60dp"></Button>
<Button android:text="Leaderboard" android:textSize="18sp" android:id="@+id/btn_leaderboard" android:background="@drawable/bg_options_menu" android:textColor="#FFFFFF" android:layout_width="250dp" android:layout_height="60dp"></Button>
<Button android:id="@+id/btn_music" android:text="Music" android:textSize="18sp" android:background="@drawable/bg_options_menu" android:textColor="#FFFFFF" android:layout_width="250dp" android:layout_height="60dp"></Button>
<Button android:id="@+id/btn_sound" android:textSize="18sp" android:text="Sound" android:layout_marginBottom="10dip" android:background="@drawable/bg_options_menu" android:textColor="#FFFFFF" android:layout_width="250dp" android:layout_height="60dp"></Button>
</LinearLayout>
</RelativeLayout>
<ImageButton android:background="@drawable/btn_back" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_marginRight="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ib_back_options_menu"></ImageButton>
</RelativeLayout>

#Dialog showing code
final OptionsDailog mDailog = new OptionsDailog(JungleCrashLand.this);
mDailog.show();

最佳答案

Dialog 类使用它自己的一组标识符。如果您使用 createDialog(int x) 创建一个对话框,您可以将此 x 作为您自己的标识符传递。删除对话框遵循相同的结构: removeDialog(int x) 其中 x 再次是您的对话框类型的标识符。这样做是为了能够区分您自己定义的不同“类型”的对话框,而无需扩展对话框类。

所以基本上:

static final int OPTIONS_DIALOG = 0;
[...]
createDialog(OPTIONS_DIALOG);
[...]
removeDialog(OPTIONS_DIALOG);

因为每个 Activity 只能有一个对话框,这将只删除这个对话框和对它的所有(!)引用。阅读http://developer.android.com/guide/topics/ui/dialogs.html以充分了解这里发生的事情。

关于android - 如何删除 Dialog(int dialogID) Android?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8922791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com