活动返回上一个片段

时间:2019-02-05 19:09:12

标签: java android android-activity fragment android-lifecycle

我有一个MainActivity,它调用一个名为AccreditedNetworkFragment(代码1)的片段。依次实例化一个NetworkViewAdapter(代码2),该调用另一个AccreditedNetworkRegionFragment(代码3)片段。

AccreditedNetworkRegionFragment中,我有一张表格,您需要填写几项微调框,例如州,城市,邻里和商店。完成后,它将执行名为AccreditedNetworkDetailsActivity(代码4)的Activity调用。

DOUBT:我希望return方法(onOptionsItemSelected-代码5)返回AccreditedNetworkRegionFragment片段,其中的微调器已经根据先前填充的内容进行填充。当前将其返回给MainActivity的方式。这给用户带来了不好的体验,因为他们不得不输入片段并再次填充所有微调器。这可能吗?

我知道我所有的片段都来自MainActivity和AccreditedNetworkRegionFragment,后者是最后一个被称为新活动的片段。因此,我想回到上一活动中引用的特定段落。

代码1:

case NETWORK:
  mToolbar.setTitle(R.string.drawer_item_network);
  currentFragment = new AccreditedNetworkFragment();
  break;

代码2:

viewPager.setAdapter(new NetworkViewAdapter(getChildFragmentManager(), getContext()));

代码3:

case 1:
  return new AccreditedNetworkRegionFragment();

代码4:

private void requestStores(String state, String city, String neighborhood, String branch) {
        if (!((SimpleSpinnerAdapter)stateSpinner.getSelectedItem()).getValue().isEmpty()) {
            AccreditedNetworkDetailsActivity.startActivity(getContext(), new ListStoresRequest(state, city, neighborhood, branch));
         }

代码5:

public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                finish();
                return true;
        }
        return super.onOptionsItemSelected(item);
    }

0 个答案:

没有答案