Fragment in android , wenn Android später Ihr Fragment neu entscheidet, den Konstruktor ohne Argumente des Fragments nennen los ist. Eine Überladung des Konstruktors ist also keine Lösung. for more detail please read this stack overflow answer
private int mId;
private static final String ID = "id";
public static DetailsFragment newInstance(int id) {
DetailsFragment fragment = new DetailsFragment();
Bundle args = new Bundle();
args.putInt(ID, id);
fragment.setArguments(args);
return fragment;
}
get Werte in oncreate Methode
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null)
//mId is variable which contain (YourActivity)MainActivity value.you can use in fragment.
mId = getArguments().getInt(ID);
}
// Anruf in Ihrem YourActivity (MainActivity) in oncreate Methode
int id = yourid;
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,DetailFragment.newInstance(id)).commit();
'getActivity(). getIntent()'? Aber Sie sollten die Daten der Absicht wahrscheinlich "nach unten" zum Fragment weitergeben, anstatt dafür "nach oben zu greifen". –