메인 액티비티의 onCreate에서 Bundle 을 생성&setArguments 해서 Fragment로 값을 넘기고, Fragment의 onCreateView에서 getString 으로 데이터를 받으려하면 java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference 가 발생합니다.
하루넘도록 해결을 못 해서 이렇게 도움을 요청합니다 ㅠㅠ
Mainactivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
...... 상단 생략
//로그인시 넘긴 변수 받기
Intent intent = getIntent(); /*데이터 수신*/
loginId = intent.getExtras().getString("loginId");
Address1 = intent.getExtras().getString("address1");
Address2 = intent.getExtras().getString("address2");
Address2X = intent.getExtras().getString("address2X");
Address2Y = intent.getExtras().getString("address2Y");
Bundle fragmentWthrBundle = new Bundle();
FragmentWthr fragmentWthr = new FragmentWthr();
fragmentWthrBundle.putString("loginId", loginId);
fragmentWthrBundle.putString("Address1", Address1);
fragmentWthrBundle.putString("Address2", Address2);
fragmentWthrBundle.putString("Address2X", Address2X);
fragmentWthrBundle.putString("Address2Y", Address2Y);
fragmentWthr.setArguments(fragmentWthrBundle);
}
FragmentWthr.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_wthr, container, false);
Bundle bundle = getArguments();
loginId = bundle.getString("loginId");
Address1 = bundle.getString("Address1");
Address2 = bundle.getString("Address2");
Address2X = bundle.getString("Address2X");
Address2Y = bundle.getString("Address2Y");
return view;
}