I get a NullPointerException when starting one fragment from another fragment. I am trying to call a method in the second fragment after running the fragment dynamically.
Here is my logcat:
05-20 09:58:31.907: E/AndroidRuntime(2585): FATAL EXCEPTION: main 05-20 09:58:31.907: E/AndroidRuntime(2585): java.lang.NullPointerException 05-20 09:58:31.907: E/AndroidRuntime(2585): at com.exercise.FragmentTest.MyFragment3.setImage(MyFragment3.java:22) 05-20 09:58:31.907: E/AndroidRuntime(2585): at com.exercise.FragmentTest.FragmentTestActivity$1.onClick(FragmentTestActivity.java:48) 05-20 09:58:31.907: E/AndroidRuntime(2585): at android.view.View.performClick(View.java:4204) 05-20 09:58:31.907: E/AndroidRuntime(2585): at android.view.View$PerformClick.run(View.java:17355) 05-20 09:58:31.907: E/AndroidRuntime(2585): at android.os.Handler.handleCallback(Handler.java:725) 05-20 09:58:31.907: E/AndroidRuntime(2585): at android.os.Handler.dispatchMessage(Handler.java:92) 05-20 09:58:31.907: E/AndroidRuntime(2585): at android.os.Looper.loop(Looper.java:137) 05-20 09:58:31.907: E/AndroidRuntime(2585): at android.app.ActivityThread.main(ActivityThread.java:5041) 05-20 09:58:31.907: E/AndroidRuntime(2585): at java.lang.reflect.Method.invokeNative(Native Method) 05-20 09:58:31.907: E/AndroidRuntime(2585): at java.lang.reflect.Method.invoke(Method.java:511) 05-20 09:58:31.907: E/AndroidRuntime(2585): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 05-20 09:58:31.907: E/AndroidRuntime(2585): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 05-20 09:58:31.907: E/AndroidRuntime(2585): at dalvik.system.NativeStart.main(Native Method)
And my main activity code:
public class FragmentTestActivity extends FragmentActivity{ Fragment fragment; Button btnFragment1, btnFragment2, btnFragment3; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnFragment1 = (Button)findViewById(R.id.displayfragment1); btnFragment2 = (Button)findViewById(R.id.displayfragment2); btnFragment3 = (Button)findViewById(R.id.displayfragment3);
And my Fragment3 class:
public class MyFragment3 extends Fragment { ImageView iv; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Please help me overcome this problem.
source share