How to resolve Java.lang.NullPointerException: Attempt to invoke virtual method?

MattM

I'm attempting to add actions to my context menu, namely, edit and delete. These actions will edit or delete entries in a database table. When the either edit or delete option is pressed the table "db_table" is supposed to be accessed to retrieve the "friend" row which corresponds to an id primary key. The id is determined by using "info.position" and dManager.retrieveFriend() is used to retrieve the row.

When ...dManager.retrieveFriend(String.valueOf(item.position)); is called I get the error below and the app crashes.

Can someone please explain why I get the error below. If you need more code or information just ask, this is the 1st time I have used Stack overflow.

Context menu item "handler":

 public boolean onContextItemSelected(MenuItem item)
{

    String editFriend = dManager.retrieveFriend(String.valueOf(info.position));
    FragmentManager manager = getFragmentManager();
    switch(item.getItemId())
    {
        case 0:
            Log.i("Friend contextual edit", "0");
            edit_Friend_Dialog edit_Friend_Dialog = new edit_Friend_Dialog();
            edit_Friend_Dialog.show(manager, "Edit Friend");

            Bundle bundle = new Bundle();
            bundle.putString("1", editFriend);
            edit_Friend_Dialog.setArguments(bundle);
            break;
        case 1:
            Log.i("Friend contextual del", "1");
            Log.i("Postion", String.valueOf(info.position));
            String id = (friendList.getItemAtPosition(info.position).toString());
            id = id.substring(0, id.indexOf(" "));
            id = id.replace(",", "");
            Log.i("id", id);
            dManager.removeRowFriend("2");
            friends = dManager.retrieveRowsFriends();
            break;


    }
    return true;
}

Database manager (dManager) retrieveFriend:

public String retrieveFriend(String id)
{
    String[] coloumns = new String[] {"id","age","gender", "name", "last_name", "address"};
    // calling elements    in an array
    cursor =  this.db.rawQuery("select * from " + DB_TABLE + " where id = " + id, null, null);
    if (cursor != null)
    {
        cursor.moveToFirst();
        String friend = "";
        friend = cursor.getString(1) + ", " + cursor.getString(2) + ", " + cursor.getString(3) + ", " + cursor.getString(4) + ", " + cursor.getString(5);
        return friend;
    }
    return null;
}

Menu1_fragment.java

    public class menu1_Fragment extends android.support.v4.app.Fragment {
    public ListView friendList;
    private String friends;
    public DatabaseManager dManager;
    public AdapterView.AdapterContextMenuInfo info;
    View rootview;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {

        rootview = inflater.inflate(R.layout.menu1_layout, container, false);
        return rootview;
    }

    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        final DatabaseManager dManager = new DatabaseManager(getContext());
        setHasOptionsMenu(true);
        friendList = (ListView) getView().findViewById(R.id.friendsList);
        registerForContextMenu(friendList);

        //retrieve all records from table and store in string
        friends = dManager.retrieveRowsFriends();
        String friendsList[] = friends.split("\\r?\\n");

        friendList.setAdapter(new ArrayAdapter<String>(getActivity().getApplicationContext(), R.layout.item, friendsList));
        friendList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long code) {
                String id = (friendList.getItemAtPosition(position).toString());
                id = id.substring(0, id.indexOf(" "));
                id = id.replace(",", "");
                dManager.removeRowFriend(id);
            }
        });

    }
    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
    {
        inflater.inflate(R.menu.activity_itemdetail, menu);
        setMenuVisibility(true);

    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View veiw, ContextMenu.ContextMenuInfo menuInfo)
    {
        if(veiw.getId() == R.id.friendsList)
        {
            info = (AdapterView.AdapterContextMenuInfo) menuInfo;
            //menu.setHeaderTitle(friendList[info.position]);
            String[] menuItems = getResources().getStringArray(R.array.menu);
            for(int i = 0; i< menuItems.length; i++)
            {
                menu.add(Menu.NONE, i, i, menuItems[i]);
            }
        }
    }
    @Override
    public boolean onContextItemSelected(MenuItem item)
    {
        String editFriend = dManager.retrieveFriend(String.valueOf(info.position));
        FragmentManager manager = getFragmentManager();
        switch(item.getItemId())
        {
            case 0:
                Log.i("Friend contextual edit", "0");
                edit_Friend_Dialog edit_Friend_Dialog = new edit_Friend_Dialog();
                edit_Friend_Dialog.show(manager, "Edit Friend");

                Bundle bundle = new Bundle();
                bundle.putString("1", editFriend);
                edit_Friend_Dialog.setArguments(bundle);
                break;
            case 1:
                Log.i("Friend contextual del", "1");
                Log.i("Postion", String.valueOf(info.position));
                String id = (friendList.getItemAtPosition(info.position).toString());
                id = id.substring(0, id.indexOf(" "));
                id = id.replace(",", "");
                Log.i("id", id);
                dManager.removeRowFriend("2");
                friends = dManager.retrieveRowsFriends();
                break;


        }
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        // handle item selection
        FragmentManager manager = getFragmentManager();
        switch (item.getItemId()) {
            case R.id.add_item:
                add_Friend_Dialog add_Friend_Dialog = new add_Friend_Dialog();
                add_Friend_Dialog.show(manager, "Add Friend");
                return true;
            case R.id.remove_friend:
                remove_Friend_Dialog remove_Friend_Dialog = new remove_Friend_Dialog();
                remove_Friend_Dialog.show(manager, "Remove Friend");
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }

    }
}

The error:

 9-18 20:17:08.474  20803-20803/com.example.mm.oggy E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.mm.oggy, PID: 20803
    **java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.mm.oggy.DatabaseManager.retrieveFriend(java.lang.String)' on a null object reference
            at com.example.mm.oggy.menu1_Fragment.onContextItemSelected(menu1_Fragment.java:80)**
            at android.support.v4.app.Fragment.performContextItemSelected(Fragment.java:2085)
            at android.support.v4.app.FragmentManagerImpl.dispatchContextItemSelected(FragmentManager.java:2122)
            at android.support.v4.app.FragmentController.dispatchContextItemSelected(FragmentController.java:308)
            at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:334)
            at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:147)
            at android.support.v7.internal.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:100)
            at com.android.internal.policy.impl.PhoneWindow$DialogMenuCallback.onMenuItemSelected(PhoneWindow.java:4701)
            at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:761)
            at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
            at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:904)
            at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:894)
            at com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:167)
            at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:1082)
            at android.widget.AdapterView.performItemClick(AdapterView.java:305)
            at android.widget.AbsListView.performItemClick(AbsListView.java:1146)
            at android.widget.AbsListView$PerformClick.run(AbsListView.java:3053)
            at android.widget.AbsListView$3.run(AbsListView.java:3860)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5257)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
user207421

dManager is null at the line specified in the exception.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

How to resolve Java.lang.NullPointerException: Attempt to invoke virtual method?

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method android

From Dev

How to resolve Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

From Java

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.PackageManager

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Editor$SelectionModifierCursorController.show()'

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method on a null object reference

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method ... on a null object reference

From Dev

NullPointerException: Attempt to invoke virtual method AlertDialog.setTitle(java.lang.CharSequence) on a null object reference

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method on a null object reference to select sqlite

From Dev

NAVIGATION DRAWER :- NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method ... on a null object reference

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method' on a null object reference

From Dev

Android Studio - java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.trim()' on a null object reference

From Dev

HashMap: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.util.HashMap.put'

From Dev

NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equalsIgnoreCase(java.lang.String)' on a null object reference

From Java

Can't retrieve data from firebase (java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String)

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getScheme()'

From Dev

com.android.volley.VolleyError:java.lang.NullPointerException:Attempt to invoke virtual method 'in java.lang.String.length()' on object reference

From Dev

com.android.volley.VolleyError:java.lang.NullPointerException:Attempt to invoke virtual method 'in java.lang.String.length()' on object reference

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object reference

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method on a null object reference while getting instance of other class and method

From Dev

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.read(byte[])' on a null object reference

From Dev

NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

From Java

java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()' on a null object reference

Related Related

  1. 1

    How to resolve Java.lang.NullPointerException: Attempt to invoke virtual method?

  2. 2

    java.lang.NullPointerException: Attempt to invoke virtual method android

  3. 3

    How to resolve Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

  4. 4

    java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.PackageManager

  5. 5

    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Editor$SelectionModifierCursorController.show()'

  6. 6

    java.lang.NullPointerException: Attempt to invoke virtual method on a null object reference

  7. 7

    java.lang.NullPointerException: Attempt to invoke virtual method ... on a null object reference

  8. 8

    NullPointerException: Attempt to invoke virtual method AlertDialog.setTitle(java.lang.CharSequence) on a null object reference

  9. 9

    java.lang.NullPointerException: Attempt to invoke virtual method on a null object reference to select sqlite

  10. 10

    NAVIGATION DRAWER :- NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()

  11. 11

    java.lang.NullPointerException: Attempt to invoke virtual method ... on a null object reference

  12. 12

    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener

  13. 13

    java.lang.NullPointerException: Attempt to invoke virtual method' on a null object reference

  14. 14

    Android Studio - java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener

  15. 15

    java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser

  16. 16

    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference

  17. 17

    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference

  18. 18

    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.trim()' on a null object reference

  19. 19

    HashMap: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.util.HashMap.put'

  20. 20

    NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equalsIgnoreCase(java.lang.String)' on a null object reference

  21. 21

    Can't retrieve data from firebase (java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String)

  22. 22

    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getScheme()'

  23. 23

    com.android.volley.VolleyError:java.lang.NullPointerException:Attempt to invoke virtual method 'in java.lang.String.length()' on object reference

  24. 24

    com.android.volley.VolleyError:java.lang.NullPointerException:Attempt to invoke virtual method 'in java.lang.String.length()' on object reference

  25. 25

    java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object reference

  26. 26

    java.lang.NullPointerException: Attempt to invoke virtual method on a null object reference while getting instance of other class and method

  27. 27

    java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.read(byte[])' on a null object reference

  28. 28

    NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

  29. 29

    java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()' on a null object reference

HotTag

Archive