簡體   English   中英

按下后退按鈕時如何刷新屏幕

[英]How to refresh the screen when back button is pressed

我有兩個屏幕的情況。

  1. 屏幕1以列表格式顯示來自API的數據
  2. 菜單欄中有一個“ +”按鈕
  3. 單擊此按鈕可將用戶帶到屏幕2
  4. 用戶可以在屏幕2上輸入一些信息,然后按此屏幕頂部的“保存”按鈕。 這對我的API進行了POST並保存了數據。

保存后,我想讓用戶回到屏幕1。我這樣做是:

@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
    if (menuItem.getTitle().toString().equalsIgnoreCase("save")) {
        new CreateSomethingTask(this,enteredName.getText().toString(), id).execute();
        Intent listscreen = new Intent(getApplicationContext(), ShowListActivity.class);
        startActivity(listscreen);
        return true;
    }
    return true;
}

但是,未顯示添加的項目。 如果我關閉我的應用程序然后再次打開它,那么該項目就會出現。

有解決這個問題的好方法嗎? 我喜歡Github Android應用程序在創建新Gist時如何處理此問題。 但是我不確定如何實現。

您應該使用startActivityForResult()啟動screen2。 這樣,您可以將結果和代碼發送回去,然后刷新屏幕1。 參見示例: 如何在Android上管理`startActivityForResult`?

下面的功能也許可以幫助您,沒有嘗試過。

@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();

    callFunctionToRefreshList();
    //or redraw data from api
    //setContentView(R.layout.activity_book);
}

暫無
暫無

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

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