1

내 활동에는 조각 안에 표시되지 않은 막대가있을 때 도구 모음을 내 조각 UI에 추가하는 것이 있습니다. 기본적으로 내 활동 및 단편에는 고유 한 도구 모음이 있습니까? 별도의 도구 모음이있는 조각과 활동이 작동하지 않습니다. 대신에 활동 도구 모음이 항상 표시됩니다.

내 활동 내 코드

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mToolbar = (Toolbar) findViewById(R.id.my_toolbar); 
    setSupportActionBar(mToolbar); 
} 

그리고 여기가 내가 얻을 것이 내 조각의 도구 모음을 만들 때 도구 모음이 때문이다

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    mView = inflater.inflate(R.layout.fragment_layout, container, false); 
    mToolbar = (Toolbar) mView.findViewById(R.id.fragment_toolbar); 
    ((AppCompatActivity) getActivity()).setSupportActionBar(mToolbar); 
    return mView; 
} 

내 조각에 내 코드입니다 액티비티의 툴바. 내가하고 싶은 것은 조각에 부모 작업과 별도의 도구 모음을 갖게하고 싶습니다. 여기

내가 어떤 생각할 수있는 몇 가지 있습니다 확실히 적합하지 않은 :
  1. 이 조각 활동합니다.
  2. 마치 툴바를 만든 것처럼 시뮬레이트하지만 단편 도구 모음을 내가 직접 연결 한 UI 요소로 정의하면됩니다.
  3. 어쨌든 부모 액티비티의 툴바를 편집하여 프래그먼트에만 한정된 다음, 어떻게하면 액티비티 툴바를 다시 그릴 수 있습니까? 이상하게 보입니다. 가능한지 확실하지 않습니다.
+0

조각에 도구 모음을 설정하지 마십시오 – AbhayBohra

+0

@AbhayBohra, 물론이 문제의 해결책은 무엇입니까? 나는 여전히 그 행동을 제공 할 필요가있다. – AndFantasy

답변

0

하나의 활동에 2 개의 툴바가있는 것은 좋지 않으므로 권장하지 않습니다.

((AppCompatActivity) getActivity()).setSupportActionBar(mToolbar); 당신은 단편의 레이아웃 파일에서 정의한 것으로 활동 도구 모음을 대체하고 있습니다.

난 당신이 지금을 변경할 수 mToolbar을 사용하는 조각이 화면에 표시되면 도구 모음에 대한 단편 특정 작업을 사용하고

Toolbar mToolbar = ((AppCompatActivity) getActivity()).getSupportActionBar(); 

하여 도구 모음의 콘텐츠에 액세스하여 행동의 변경 제안 작업

+0

물론, 조각 모음이 완료되면 조각 변경에 따라 도구 모음이 변경된 상태로 유지된다는 의미입니다. 따라서 이제이 조각을 원래 도구 모음이 필요한 다른 것으로 교체하면 도구 모음이 첫 번째 조각에 의해 변경 되었기 때문에 도구 모음을 원래 상태로 완전히 다시 설정해야합니다. – AndFantasy

+0

완전하지 않음 ... 액티비티에 메소드를 생성하여 툴바를 다시 초기화하고 조각의'onDestroy' 메소드에서 호출하십시오. –

+0

방금 ​​조각 대신 활동으로 전환했습니다. 어쨌든 더 잘 돌아갔을 수도 있습니다. 의견을 보내 주셔서 감사합니다. – AndFantasy