나는이 개 활동을 가지고 MainActivity
와 UserActivity
. 각 활동에는 스 와이프 할 수있는 3 개의 탭이 있으며 각 탭에는 자체 조각이 있습니다.
각 조각은 똑같은 레이아웃을 포함하지만 콘텐츠를 다르게로드합니다. 의 탭은 UserActivity
에있는 것과 똑같은 탭입니다 MainActivity
.
두 활동 모두에 사용되는 총 3 개의 조각이 있어야합니까? 아니면 3 개가 사용되고 MainActivity
나머지 3 개가 사용되는 6 개의 조각 이 있어야 UserActivity
합니까?
총 3 개의 프래그먼트 만 있어야하는 경우 사용중인 활동을 어떻게 구별 할 수 있습니까?
좋은 질문이고 대답은 약간 주관적이라고 생각합니다. 하지만 어쨌든 :
두 활동에 동일한 3 개의 조각이 있고 기능이 어느 정도 동일하다면 3 개의 조각 만 가지고 재사용해야합니다.
조각은 쉽게 재사용 할 수 있고 완벽한 사용 사례이기 때문에 특히 유용합니다.
기능이 많이 다를 경우에만 구별해야합니다.
차별화하는 방법? 매우 쉽습니다.
조각에 대한 newInstace 메서드를 만들고 int를 전달합니다 (유형에 따라).
public class TestFragment {
public static TestFragment newInstance(int testInt) {
TestFragment fragment = new TestFragment();
Bundle args = new Bundle();
args.putInt("testInt", testInt);
fragment.setArguments(args);
return fragment;
}
...
}
조각을 만들려면 다음을 사용하십시오. Fragment testFragment = TestFragment.newInstance(testInt);
나중에 newInstance 메서드에서 전달 된 데이터를 얻으려면 다음과 같이 사용하십시오. getArguments().getInt("testInt", -1);
전달한 정수를 기반으로 표시 / 사용할 데이터를 필터링 / 결정할 수 있습니다.
편집하다:
1 활동 내의 3 개 프래그먼트가 모두 동일한 경우 6 개 탭 모두에 1 개 프래그먼트 만 사용합니다.
마녀 활동이 사용되고 있는지 구별하십시오. 실제로 말이되지 않습니다. 다음을 호출하여 프래그먼트 내부의 활동에 액세스 할 수 있습니다. getActivity();
이것이 도움이되기를 바랍니다 ... 건배
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다