对话框按钮首次用于Android应用程序

问题描述 投票:0回答:1

我已经配置了一个对话框,在第一次使用android app时显示,而这个对话框包含按钮,一旦我提交按钮,如何隐藏此对话框这里是我的代码

MainActivity代码

 private boolean isFirstTime() {
    SharedPreferences preferences = getPreferences(MODE_PRIVATE);
    boolean ranBefore = preferences.getBoolean("RanBefore", false);
    if (!ranBefore) {
        //show dialog if app never launch
        dialog.show();
        SharedPreferences.Editor editor = preferences.edit();
        editor.putBoolean("RanBefore", true);
        editor.commit();

    }
    return !ranBefore;
}

//Create Dialog
    dialog = new Dialog(MainActivity.this);
    dialog.setContentView(R.layout.dialog_user);
    //method call

用户对话框布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:gravity="center"
android:orientation="vertical"
android:padding="10dp">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="453dp"
        android:background="@null"
        android:src="@drawable/first_login" />

</LinearLayout>
<Button
    android:id="@+id/btnok"
    android:layout_width="fill_parent"
    android:layout_height="40dp"
    android:layout_marginBottom="10dp"
    android:layout_marginTop="20dip"
    android:text="OK, GOT IT"
    android:background="@null"
    android:textColor="#0000FF"
    android:textSize="20sp" />

once click on OK,GOT IT to be dimess

android xml android-studio button dialog
1个回答
1
投票

请记住,您必须在对话框中执行findViewById,因为该按钮位于对话框中。

    final Dialog dialog = new Dialog(this);
    dialog.setContentView(R.layout.dialog_user);
    Button okButton = (Button) dialog.findViewById(R.id.btnok);
    okButton.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            dialog.dismiss();
        }
    });
    dialog.show();

但是,可以通过其他方式删除对话框,例如在其外部单击或单击向后箭头。如果您只想使用按钮删除对话框,则必须添加:qazxsw poi

© www.soinside.com 2019 - 2024. All rights reserved.