After upgrading my app to
- targetSdkVersion 27
- com.android.support:support-v4:27.0.2
I am getting the following crash log from live
Caused by: java.lang.IllegalArgumentException:
at android.support.v4.app.Fragment.setTargetFragment (Fragment.java:545)
I look at the source code of support fragment (Not exactly line 545. I'm not sure how I can get the latest source code of support fragment library)
598 public void setTargetFragment(Fragment fragment, int requestCode) {
599 mTarget = fragment;
560 mTargetRequestCode = requestCode;
561 }
I can't see a reason why java.lang.IllegalArgumentException
is thrown. Maybe I'm looking at wrong version of support library source code?
Do you have any idea, why I'm getting java.lang.IllegalArgumentException
during android.support.v4.app.Fragment.setTargetFragment
My source code is as follow
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
public class BuyPortfolioFragment extends Fragment {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
// If not retained (or first time running), we need to create it.
if (this.statusBarUpdaterFragment == null) {
this.statusBarUpdaterFragment = StatusBarUpdaterFragment.newInstance();
// Tell it who it is working with.
this.statusBarUpdaterFragment.setTargetFragment(this, 0);
fm.beginTransaction().add(statusBarUpdaterFragment, STATUS_BAR_UPDATER_FRAGMENT).commitAllowingStateLoss();
} else {
statusBarUpdaterFragment.setTargetFragment(this, 0);
}