탐색보기를 부 풀리는 주요 활동 (활동 1)이 있습니다 (목록보기 항목 포함). 서랍은 프래그먼트 (MenuFragment)에 의해 실행되므로 어떤 항목이 선택되었는지에 따라 xml 레이아웃을 확장 할 수 있습니다. 이제 내 문제는 서랍이 MenuFragment에 의해 실행되고 조각에서 활동을 시작할 수 있기 때문에 사용자가 서랍에서 항목을 선택할 때 다른 활동 (활동 2)을 실행하는 방법입니다. 어떤 도움이라도 대단히 감사합니다. 미리 감사드립니다.다른 단편에서 단편을 실행하는 방법
0
A
답변
0
이 유형의 문제에 대한 일반적인 패턴은 프래그먼트 내에서 무언가가 발생했을 때 Activity에 통지해야하는 각 프래그먼트에 대한 리스너 인터페이스를 제공하는 것입니다. , 본질적으로
public class TestActivity extends Activity implements MenuFragment.Listener
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// MenuFragment fragment = ...;
// fragment.setListener(this);
}
@Override
public void onDestroy()
{
// MenuFragment fragment = ...;
// fragment.setListener(null);
super.onDestroy();
}
@Override
public void onDrawerItemSelected()
{
// TODO launch other activity here
}
}
당신의 활동 쇼를 운전하자
public class MenuFragment extends Fragment
{
public interface Listener
{
void onDrawerItemSelected();
}
private Listener listener;
public void setListener(Listener listener)
{
this.listener = listener;
}
// When drawer item selected, do something like
//
// if (listener != null)
// {
// listener.onDrawerItemSelected();
// }
}
귀하의 활동과 같이 보일 것입니다 : 같은
그래서 메뉴 조각은 무언가를 볼 수 있었다.
0
사용하는 인터페이스 당신은 당신의 조각에서 활동에 대한 인터페이스를 만들 필요가
Communicating between a fragment and an activity - best practices.
. 같은 뭔가 : 여기
public class MainActivity extends FragmentActivity implements MainFragment.getCommunication {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//called from the MainFragment
@Override
public void TalkToMe() {
MainFragment MainFrag = (MainFragment)getFragmentManager().findFragmentById(R.id.fragment_main);
MainFrag.MyMainFragmentMethod();
OtherFragment OtherFrag = (OtherFragment)getFragmentManager().findFragmentById(R.id.fragment_Other);
OtherFrag.MyMainFragmentMethod();
}
}
조각 클래스
public class MainFragment extends Fragment {
//interface to the MainActivity activity class
private getFragmentCommunication listener;
public interface getCommunication {
public void TalkToMe();
}
}
이에 대한 좋은 기사입니다 : http://www.vogella.com/articles/AndroidFragments/article.html.
1
다른 조각에서 절편을 절대로 호출해서는 안됩니다. Communication between fragments은 활동을 통해 이루어져야합니다.
SO thread. 희망이 도움이됩니다.
관련 문제
- 1. 버튼의 다른 단편에서 단편을 클릭하십시오.
- 2. 인 텐트를 사용하여 다른 단편에서 단편을 호출합니다.
- 3. 중첩 된 단편에서 단편을 중첩
- 4. 활동에서 단편에서 다른 것으로 옮기기
- 5. 클릭시 다른 단편에서 단편 호출하기
- 6. 현재 단편과 현재 단편을 제외한 현재 단편에서 모든 단편을 어떻게 제거합니까?
- 7. 단편에서 다른 단으로 double 값을 보내는 방법
- 8. 목록 단편의 목록에서 다른 단편을 클릭하십시오.
- 9. 단편에서 활동으로 이동하는 방법
- 10. 단편에서 활동으로 통신하는 오토
- 11. 다른 단편을 UI없이 추가 한 후 "단편을 생성하지 못했습니다."
- 12. 안드로이드 - 단편을 끝내는 방법
- 13. CustomView에서 단편을 호출하는 방법
- 14. ProgressDialog 단편을 업데이트하는 방법
- 15. 다른 활동의 단편을 엽니 다.
- 16. 프래그먼트가 단편을 대체하고 단편을 탐색하는 데 유용합니다.
- 17. 단편에서 활동 문제로의 인터페이스 통신
- 18. 안드로이드 ViewPager, 단편에서 다른 단편으로 바꾸기
- 19. 하나의 활동 단편에서 다른 활동 단편으로 데이터를 보내는 방법
- 20. 다른 단편에서 ActionBar 항목의 표시 여부를 설정하는 방법
- 21. 다른 스레드를 실행하는 방법?
- 22. 중첩 된 단편에서 메소드를 호출하는 방법
- 23. 단편을 만드는 가장 좋은 방법
- 24. 사용자 정의 단편을 만드는 방법
- 25. 모든 텍스트를 선택하십시오. 단편에서
- 26. 조각에서 활동 변수에 데이터를 할당하고 다른 단편에서 변수를 가져옵니다.
- 27. 어댑터의 단편에서 요소 호출
- 28. 다른 루프를 실행하는 동안 tkinker를 실행하는 방법
- 29. TabLayout 단편에서 오류가 발생했습니다.
- 30. viewpager에서 다른 인수를 사용하여 동일한 단편을 만드는 방법