I am trying to send the bundle data from the activity class to the fragment class, but I have been getting the NPE error. I've researched a bit on Stackoverflow and tried a few different things, but none seemed to work.
I have another activity class sending the intent to the MainActivity class. So the bundle from the MainActivity.java is definitely not null when it is sent to the MyFragment class.
Please help! Thank you! :D
MainActivity.java
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
Bundle extras = getIntent().getExtras();
if (extras != null) {
Bundle bundle = new Bundle();
String value = extras.getString("TEST36");
bundle.putString("TEST36", value);
MyFragment fragInfo = new MyFragment();
fragInfo.setArguments(bundle);
}
}
}
MyFragment.java
public class MyFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_xml, parent, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Bundle bundle = getArguments();
String myMode = bundle.getString("TEST36");
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_xml"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.example.test.MyFragment">
</fragment>
fragment_xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/TESTINGTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="26dp"
android:layout_marginTop="21dp"
android:layout_marginBottom="20dp"
android:textSize="@dimen/text_size" />
</RelativeLayout>
Logcat
07-12 01:01:59.149: E/AndroidRuntime(2950): FATAL EXCEPTION: main
07-12 01:01:59.149: E/AndroidRuntime(2950): Process: com.example.test, PID: 2950
07-12 01:01:59.149: E/AndroidRuntime(2950): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.test/com.example.test.MainActivity}: java.lang.NullPointerException
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.app.ActivityThread.access$800(ActivityThread.java:135)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.os.Handler.dispatchMessage(Handler.java:102)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.os.Looper.loop(Looper.java:136)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.app.ActivityThread.main(ActivityThread.java:5017)
07-12 01:01:59.149: E/AndroidRuntime(2950): at java.lang.reflect.Method.invokeNative(Native Method)
07-12 01:01:59.149: E/AndroidRuntime(2950): at java.lang.reflect.Method.invoke(Method.java:515)
07-12 01:01:59.149: E/AndroidRuntime(2950): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
07-12 01:01:59.149: E/AndroidRuntime(2950): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
07-12 01:01:59.149: E/AndroidRuntime(2950): at dalvik.system.NativeStart.main(Native Method)
07-12 01:01:59.149: E/AndroidRuntime(2950): Caused by: java.lang.NullPointerException
07-12 01:01:59.149: E/AndroidRuntime(2950): at com.example.Fragment.onActivityCreated(MyFragment.java:1098)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1508)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1086)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1884)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:566)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.app.Activity.performStart(Activity.java:5241)
07-12 01:01:59.149: E/AndroidRuntime(2950): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168)
07-12 01:01:59.149: E/AndroidRuntime(2950): ... 11 more