이 같은 활동에서 데이터를 전달합니다 내가 뭘하려
public class C extends FragmentActivity {
// public PassDataToFragments fragmentCommunicator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.detail_pager);
serviceCall();
}
void serviceCall() {
JSONObject totalData = new JSONObject(result);
JSONObject jsonData = totalData.getJSONObject("result");
trainerStrName = jsonData.getString("name");
trainerStrAddress = jsonData.getString("address");
// activityCommunicator.passDataToFragment(trainerStrName); i am
// null pointer exception
// pass name to fragment A and address to fragment B
}
@Override
public SherlockFragment getItem(int arg0) {
switch (arg0) {
// Open Previous Projects
case 0:
FragmentA fragmentA = new FragmentA();
return fragmentA;
// Open Certification
case 1:
FragmentB fragmentB = new FragmentB();
return fragmentB;
}
return null;
}
}
내가 인터페이스를 사용하지만, 내가 사용하는 방법을 알고 조각 B에 FragmentA 및 주소로 이름 값을하지 않는 것입니다
Bundle bundle = new Bundle();
bundle.putString("name", name);
bundle.putString("address", address);
FragmentA fragmentA = new FragmentA();
fragmentA.setArguments(bundle);
및 조각 A의이
은
onCreateView
방법은 다음과 같이이를 검색 :
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment, container, false);
String name = getArguments().getString("name");
String address = getArguments().getString("address");
}
편집
단편 벌써로드 된 경우 당신은 당신의 데이터를 얻을 것이다
이
PassDataToFragment fragA = (PassDataToFragment) getSupportFragmentManager().findFragmentById(R.id.container); // Change the id as per yours
fragA.passDataToFragment(name, address);
같은 데이터를 전송 (현재 구현을 사용하는) 이런 식으로 작업을 수행 할 수 있습니다 passDataToFragment()
조각 안에 A.
ツ 그 피사체가 공식 기본 교육 페이지에 설명되어 도움이되기를 바랍니다 : HTTP
는 조각의 값을 가져옵니다 : //developer.android.com/training/basics/fragments/communicating.html 주어진 예제를 따라 해 보았습니까? – 2Dee
@ Shadow :'interface'를 사용할 필요가 없습니다. 매개 변수화 된 클래스 생성자를 사용하여 Activity에서 Fragments로 데이터 전달하기 –
'setArgument'가 더 좋은 옵션이 아니어야합니까? 덕분에 – Rohit5k2