问题
I have the url value in the MainActivity page and i need to pass this url value from ACtivity to Fragment. But when i click the button i'm getting null exception on the line of String url=getArguments().getString("btn_url");
Activity:
Fragment fragment=new About();
if (fragment != null) {
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.frame_container, fragment, "TAG_FRAGMENT");
transaction.addToBackStack(null);
transaction.commit();
Bundle bundle=new Bundle();
bundle.putString("btn_url", URL);
About fragobj=new About();
fragobj.setArguments(bundle);
}
Fragment:
String url=getArguments().getString("btn_url");
回答1:
You need to commit after you set the fragments arguments. Change your code to this:
About fragobj=new About();
Bundle bundle=new Bundle();
bundle.putString("btn_url", URL);
fragobj.setArguments(bundle);
getFragmentManager().beginTransaction();
.replace(R.id.frame_container, fragobj, "TAG_FRAGMENT");
.addToBackStack(null);
.commit();
来源:https://stackoverflow.com/questions/27247065/null-pointer-exception-passing-data-from-activity-to-fragment