2016-10-21 9 views
0

일부 메시지 조각을 열기위한 코드가 있습니다.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를 다시 여는 방법을 알 수 없습니다.

답변

1

귀하의 요구 사항에 따라 조각이 null인지 여부를 확인하고 내부 활동 확인에서 onBackPressed()을 무시한 다음 FAB을 숨 깁니다.

+0

를 사용하는 사이에

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

가 통신하기! 고마워요! –

0

직접 액티비티에 FAB을 추가하는 대신 FAB를 조각 (FABFragment)에 추가하고 다른 조각 (MessageFragment)을 메시지에 추가하십시오.

그래서 당신은 MessageFragment은 다음 코드를 사용하여 FABFragment을 대체 표시 할 때마다 : 당신의 조각이 쉬웠다 인터페이스 (https://developer.android.com/training/basics/fragments/communicating.html)