Так что проблема не в технической проблеме, а скорее в эстетике c.
Я передаю данные из одного фрагмента в другой. Таким образом, всего есть 3 фрагмента, и первые два вызывают один и тот же третий фрагмент, поэтому для определения в третьем фрагменте, из какого из первых двух он был вызван, я использую следующий код
в первом фрагменте
Bundle bundle = new Bundle();
bundle.putBoolean("isFirst", true)
Fragment fragment = new ThirdFragment();
fragment.setArguments(bundle);
loadFragment(fragment);
и во втором фрагменте как
Bundle bundle = new Bundle();
bundle.putBoolean("isFirst", false)
Fragment fragment = new ThirdFragment();
fragment.setArguments(bundle);
loadFragment(fragment);
и в третьем фрагменте
Bundle bundle = this.getArguments();
Boolean isFirst = bundle.getBoolean("isFirst",false);
if(isFirst){
....
} else{
....
}
код работает нормально, но я думаю, что должно быть больше элегантный способ сделать это. Если не по крайней мере, сделайте все это в одну строку без дополнительных объявлений, таких как Bundle bundle и Fragmentgment
например что-то вроде
loadFragment(new ThirdFragment().setArguments(new Bundle().putBoolean("isFirst",true)));
Я относительно новичок в android и java программирование, поэтому, пожалуйста, не будь хар sh.