2017-09-18 39 views
0

我想通過startActivityForResult的幫助將數據從我的適配器類傳遞到另一個片段。如果我使用下面的代碼同樣的活動重新創建它,我不希望這樣。如何解決這個問題?使用startActivityForResult在同一活動中將數據從適配器傳遞到片段

Bundle mBundle = new Bundle(); 
mBundle.putString(Constants.SELECTED_PLOCATION, pLocation); 
mBundle.putString(Constants.SELECTED_RLOCATION, rLocation); 
mBundle.putString(Constants.SELECTED_FROM, selectedFrom); 
mBundle.putString(Constants.FROM_TYPE, fromType); 
mBundle.putString(Constants.AREA_TYPE, Constants.AREA); 
getActivity().getFragmentManager().popBackStackImmediate(); 
Intent mIntent = new Intent(getActivity(), AuthorizedCustomerActivity.class); 
getActivity().startActivityForResult(mIntent, PICK_LOCATION_REQUEST, mBundle); 
+0

請指出您的Adapter類和Fragment在哪裏?活動片段存在於哪個活動適配器中 –

回答

0

使用以下代碼進行從適配器到片段的數據傳輸;

Fragment fragment = new YourFragmentName(); 
FragmentManager fm = getActivity().getSupportFragmentManager(); 
FragmentTransaction ft = fm.beginTransaction(); 
ft.replace(R.id.content_frame, fragment); 
ft.commit(); 

Bundle mBundle= new Bundle(); 
mBundle.putString(Constants.SELECTED_PLOCATION, pLocation); 
mBundle.putString(Constants.SELECTED_RLOCATION, rLocation); 
mBundle.putString(Constants.SELECTED_FROM, selectedFrom); 
mBundle.putString(Constants.FROM_TYPE, fromType); 
mBundle.putString(Constants.AREA_TYPE, Constants.AREA); 
fragment.setArguments(mBundle); 
相關問題