簡體   English   中英

在FragmentTransection中隱藏/顯示浮動動作按鈕

[英]Hide/Show floating action button during FragmentTransection

我有這段代碼可以打開一些消息片段。

private void openMessage(int position) {
    MessageRecord item = data.get(position);
    item.setIsRead(true);
    item.save();
    List<MessageRecord> tmp = new ArrayList<>(data);
    updateScreen(tmp);

    MessagesActivity2 parentActivity = ((MessagesActivity2) context);
    parentActivity.fab.hide();
    FragmentTransaction ft = parentActivity.getSupportFragmentManager().beginTransaction();

    ft.addToBackStack(null);
    MessageFragment fragment1 = MessageFragment.newInstance(item);
    ft.add(R.id.frame, fragment1);

    ft.commit();

}

這條線隱藏了我的晶圓廠。 parentActivity.fab.hide();

但是在按“返回”按鈕並返回到活動視圖后,我不知道如何重新打開FAB。

在活動和內部重寫onBackPressed() ,以根據您的要求檢查片段是否為null,然后隱藏FAB

與其直接在活動上添加FAB,不如在片段(FABFragment)上添加FAB,然后為您的消息添加另一個片段(MessageFragment)。

因此,每當要顯示MessageFragment時,請使用以下代碼替換FABFragment:

MessageFragment fragment1 = MessageFragment.newInstance(item); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.addToBackStack(null); ft.replace(R.id.frame, fragment1);

要在片段之間進行通信,請使用接口( https://developer.android.com/training/basics/fragments/communicating.html

暫無
暫無

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

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