-2

I am using Bundle to passing data from my MainActivity to Fragment but it prompts out with the JAVA.NULLPOINTER.EXCEPTION. Error is occur when IgetArguments()` in list_fragments2 in second activity

MainActivity

list_fragment2 fragment = new list_fragment2();
Bundle b = new Bundle();
b.putString("test","text");
fragment.setArguments(b);
Toast.makeText(this, "" + b, Toast.LENGTH_SHORT).show();

list_fragment2

String name = getArguments().getString("test");
ntab2.setText(name);

Logcat

01-02 07:19:52.549 15797-15797/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                      java.lang.NullPointerException
                  at net.simplifiedcoding.androidtablayout.Tab2.list_fragment2.onCreateView(list_fragment2.java:62)
                  at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)
                  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
                  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)
                  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
                  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613)
                  at android.support.v4.app.Fragment.performStart(Fragment.java:1983)
                  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1102)
                  at android.support.v4.app.FragmentManagerImpl.performPendingDeferredStart(FragmentManager.java:926)
                  at android.support.v4.app.FragmentManagerImpl.startPendingDeferredFragments(FragmentManager.java:1272)
                  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1630)
                  at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570)
                  at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
                  at android.support.v4.view.ViewPager.populate(ViewPager.java:1106)
                  at android.support.v4.view.ViewPager.populate(ViewPager.java:952)
                  at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1474)
Tang Weiming
  • 47
  • 2
  • 9

3 Answers3

0

Here is solution you have to change a little code in list_fragment2 First you have to make bundle and then get String like

Bundle bundle = getArguments();
    if (bundle != null) {
    String name = bundle.getString("test");
    ntab2.setText(name);
  }

Problem solve.

Sanwal Singh
  • 1,765
  • 3
  • 17
  • 35
0

change this line of your code.

String name = getArguments().getString("test");

to

String name = this.getArguments().getString("test");

it will work.

Sagar Gangawane
  • 1,985
  • 1
  • 12
  • 22
jack jay
  • 2,493
  • 1
  • 14
  • 27
0

On your second fragment use like this

call getArguments() in your List_fragment2's onCreateView() metod:

 public View onCreateView(LayoutInflater inflater,ViewGroup containerObject,
         Bundle savedInstanceState){
         //here is your arguments
         Bundle bundle=getArguments(); 

        //your string
        String test=bundle.getString("test");   
     }
}
Sadiq Md Asif
  • 882
  • 6
  • 18