user7360646
user7360646

Reputation:

Android RUNTIME: FATAL exception java.lang.NullPointerException

I know there is already solution regarding this topic but I have been unsuccessful in fixing the issue. I am new to android and also new to this group. I am trying to implement the spinner in onCreateView() method. I followed this tutorial Android developers
But when I run this app in AVD it suddenly stops and close the app.
Please help me to fix the issue.
This is my java Code

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

import static android.R.layout.simple_spinner_dropdown_item;
import static android.R.layout.simple_spinner_item;

public class edit_information extends Fragment implements AdapterView.OnItemSelectedListener {
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstaceState){
        Spinner spinner = (Spinner) getActivity().findViewById(R.id.spinner1);
        //Creating an array adapter using the string array and a default spinner layout
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getContext(),R.array.hall_type,simple_spinner_item);

        //Layout to choose the dropdown list
        adapter.setDropDownViewResource(simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(this);
        return inflater.inflate(R.layout.edit_information,container,false);
    }

    @Override
    public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
        Toast.makeText(adapterView.getContext(),"Hall Selected: \n"+adapterView.getItemAtPosition(i).toString(),Toast.LENGTH_LONG).show();
    }

    @Override
    public void onNothingSelected(AdapterView<?> adapterView) {

    }
}

Here is the logcat file error

FATAL EXCEPTION: main
Process: com.example.lokesh.eveapp, PID: 18424
java.lang.NullPointerException
   at com.example.lokesh.eveapp.edit_information.onCreateView(edit_information.java:27)
   at android.support.v4.app.Fragment.performCreateView(Fragment.java:2087)
   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1113)
   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1295)
   at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801)
   at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1643)
   at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:679)
   at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:166)
   at android.support.v4.view.ViewPager.populate(ViewPager.java:1272)
   at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:672)
   at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:634)
   at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:615)
   at com.example.lokesh.eveapp.Member_Activity.onTabSelected(Member_Activity.java:81)
   at android.support.design.widget.TabLayout.dispatchTabSelected(TabLayout.java:1154)
   at android.support.design.widget.TabLayout.selectTab(TabLayout.java:1147)
   at android.support.design.widget.TabLayout.selectTab(TabLayout.java:1117)
   at android.support.design.widget.TabLayout$Tab.select(TabLayout.java:1412)
   at android.support.design.widget.TabLayout$TabView.performClick(TabLayout.java:1520)
   at android.view.View$PerformClick.run(View.java:18568)
   at android.os.Handler.handleCallback(Handler.java:733)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:136)
   at android.app.ActivityThread.main(ActivityThread.java:5021)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:515)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
   at dalvik.system.NativeStart.main(Native Method)

Logcat says NullPointerException on line 27 this is the code on line 27

spinner.setAdapter(adapter);

Kindly help.
Thank you

Upvotes: 0

Views: 557

Answers (1)

MilanNz
MilanNz

Reputation: 1341

You are doing it wrong.

Problem is in onCreateView method. You cannot create View elements using getActivity(). Your spinner is null because it cannot be found.

So instead of this:

Spinner spinner = (Spinner) getActivity().findViewById(R.id.spinner1);

use this:

View view = inflater.inflate(R.layout.edit_information, container, false);
Spinner spinner = (Spinner) view.findViewById(R.id.spinner1);
return view;

Best regards and happy coding.

Upvotes: 1

Related Questions