簡體   English   中英

從當前活動返回時,顯示上一個活動的按鈕

[英]Show a button on a previous activity when going back from current activity

我想通過使用后退按鈕返回來查看上一個活動中的編輯按鈕。 但是當我使用

        @Override
            public void onClick(View arg0) {
                // finish the current activity
                finish();

            }

在我當前的活動中,它可以返回到上一個活動,但是“編輯”按鈕不可見。

如果我在上一個活動中使用onResume

@Override
    protected void onResume() {
        super.onResume();
        btnEdit.setVisibility(View.VISIBLE);

    }

那么無論活動是第一次恢復還是首次創建,它總是可見的。

我是Android開發的新手,請幫助我解決此問題。

您可以創建一個布爾變量,完成后可以將其設置為true,並在onResume方法中對此布爾值進行檢查

重寫onRestart()方法

@Override
protected void onRestart () {
    super.onResume();
    btnEdit.setVisibility(View.VISIBLE);

}

或開始活動

startActivityForResult (Intent intent, int requestCode)

方法和覆蓋

@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data){
    super.onActivityResult (requestCode,resultCode,data);
    btnEdit.setVisibility(View.VISIBLE);

}

好,

當您啟動Activity時,請使用startActivityForResult(intent, 1989)而不是startActivity(intent) startActivityForResult(intent, 1989) (1989可以是您想要的任何int值)。

從新的Activity返回時,在調用finish()之前,請執行以下操作:

        Intent returnIntent = new Intent();
        returnIntent.putExtra("resultBool", true);

        //Null checks, not strictly neccescary 

            if (getParent() == null)
            {
                setResult(Activity.RESULT_OK, returnIntent);
            }
            else
            {
                getParent().setResult(Activity.RESULT_OK, returnIntent);
            }

    finish();

然后在您的第一個Activity中覆蓋onActivityResult()如下所示:

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
        {
            // The int you initially used
            if (requestCode == 1989)
            {
                if (resultCode == RESULT_OK)
                {
                    boolean result = data.getBooleanExtra("resultBool", false)

                    if (result)
                      //Show the button now

                }
            }
    }

暫無
暫無

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

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