您好新來的Android如何從意圖從活動到片段? 我知道,從片段這樣如何將意圖從活動傳遞到Android中的片段
Intent intent=new Intent(getActivity(),nextActivity.class)
StartActivity(intent);
活動,但我從活動到碎片想要的。
您好新來的Android如何從意圖從活動到片段? 我知道,從片段這樣如何將意圖從活動傳遞到Android中的片段
Intent intent=new Intent(getActivity(),nextActivity.class)
StartActivity(intent);
活動,但我從活動到碎片想要的。
在活動你的意圖
Bundle bundle = new Bundle();
bundle.putString("dataKey", "Value");
YourFragmentClass fragmentObject = new YourFragmentClass();
fragmentObject .setArguments(bundle);
if(fragmentObject!=null){
FragmentManager fm = getFragmentManager();
fm.beginTransaction().add(R.id.container, fragmentObject).commit();
}
在片段的onCreateView方法設置數據就可以得到數據
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
String activityData= getArguments().getString("dataKey");
return inflater.inflate(R.layout.fragment, container, false);
}
目前我的工作片段。
使用此驗證碼。
Fragment fragment = new YourFragmentName();
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
}
哪裏content_frame是
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
在主要佈局
無法意圖傳遞給片段,你可以做的就是讓你的數據在意向,並通過它到片段。推薦的方法是使用newInstance模式。 所以在片段,你也會有這樣的:
public static MyFragment newInstance(@NonNull final String someId) {
final MyFragment fragment = new ProfileFragment();
final Bundle args = new Bundle();
args.putString(Const.KEY_SOME_ID, someId);
fragment.setArguments(args);
return fragment;
}
要創建當然,你會調用該方法的片段。
String id = getIntent().getStringExtra(Const.KEY_ID);
MyFragment fragment = MyFragment.newInstance(id);
,並訪問您需要的參數,以獲得片段內:
Bundle args = getArguments();
if (args != null) {
myId = args.getString(Const.KEY_SOME_ID, "");
}
意向意圖=新意圖(currentActivity,nextFragement.class) StartActivity(意向); –
它不起作用@AnjaliTripathi –
@AnjaliTripathi不適用於活動碎片。 –