簡體   English   中英

重新啟動應用程序而不更改

[英]relaunch application without changing

我找到了一些代碼來按代碼中的主頁按鈕

Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);

還有這個 :

  moveTaskToBack(true);

我有一項活動是一項任務
然后是帶有按鈕的alertDialog ,然后單擊該代碼之一,然后運行代碼並返回首頁
因此,當您再次進入應用程序時,該警報已在
我想重新啟動應用程序而不會退出alertDialog我該怎么辦?
謝謝

使用Builder創建AlertDialog時,可以設置setCancelable(false);。

AlertDialog默認按鈕將顯示對話框。 您應該使用自定義視圖創建自定義對話框

public class CustomDialog extends AlertDialog(){
    TextView mTitleView,mDescriptionView;
    Button mYesButton,mNoButton,mCancelButton;
    boolean isYesButtonVisible = true;
    boolean isNoButtonVisible = true;
    boolean isCancelButtonVisible = true;

    public CustomDialog(Context context){
        super(context);
    }

    public void setYesButtonVisible(boolean isVisible){
        isYesButtonVisible = isVisible
    }

    public void setNoButtonVisible(boolean isVisible){
        isNoButtonVisible = isVisible
    }

    public void setCancelButtonVisible(boolean isVisible){
        isCancelButtonVisible = isVisible
    }

    @override
    public void show(){
        super.show();
        setContentView(R.layout.dialog_custom);
        mTitleView = findViewById(R.id.text_title);
        mDescriptionView = findViewById(R.id.text_description);
        mYesButton = findViewById(R.id.btn_yes);
        mNoButton = findViewById(R.id.btn_no);
        mCancelButton = findViewById(R.id.btn_cancel);
        isYesButtonVisible ? mYesButton.setVisibility(View.VISIBLE) : mYesButton.setVisibility(View.GONE);
        isNoButtonVisible ? mNoButton.setVisibility(View.VISIBLE) : mNoButton.setVisibility(View.GONE);
        isCancelButtonVisible ? mCancelButton.setVisibility(View.VISIBLE) : mCancleButton.setVisibility(View.GONE);
     }
    //must be called after dialog is showing else you will get NullPointerException
    public void setOnYesClickListener(View.OnClickListener listener){
        mYesButton.setonClickListener(listener);
    }
    public void setOnNoClickListener(View.OnClickListener listener){
        mNoButton.setonClickListener(listener);
    }
    public void setOnCancelClickListener(View.OnClickListener listener){
        mCancelButton.setonClickListener(listener);
    }
}

和layoutDialog_custom也可以自己設計,但這是我的自定義對話框的布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/text_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="16dp"
        android:textColor="@color/black"
        android:textSize="18sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/text_description"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="16dp"
        android:textSize="16sp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/btn_yes"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingBottom="8dp"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
            android:paddingTop="8dp"
            android:text="@string/yes"
            android:textColor="@color/green_click"
            android:textSize="18sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/btn_no"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="20dp"
            android:paddingBottom="8dp"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
            android:paddingTop="8dp"
            android:text="@string/no"
            android:textColor="@color/green_click"
            android:textSize="18sp"
            android:textStyle="bold" />

        <TextView
            android:id="@id/btn_cancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="24dp"
            android:paddingBottom="8dp"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
            android:paddingTop="8dp"
            android:text="@string/cancel"
            android:textColor="@color/green_click"
            android:textSize="18sp"
            android:textStyle="bold" />
    </LinearLayout>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM