按下后退按钮时如何刷新屏幕

时间:2013-12-06 23:02:10

标签: android android-intent android-listview

我有两个屏幕的场景。

  1. 屏幕1显示来自API的列表格式数据
  2. 菜单栏中有一个“+”按钮
  3. 点击此按钮可将用户带到屏幕2
  4. 用户可以在屏幕2上输入一些信息,然后按此屏幕顶部的“保存”按钮。这会对我的API执行POST并保存数据。
  5. 保存后,我想将用户带回屏幕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时如何处理这个问题。但我不确定如何实现这一点。

2 个答案:

答案 0 :(得分:0)

您应该使用startActivityForResult()启动screen2。这样你就可以发回一个结果和一个代码然后继续刷新你的screen1。请参阅示例:How to manage `startActivityForResult` on Android?

答案 1 :(得分:-1)

下面的功能可能对你有帮助,没试过。

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

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