mardi 24 novembre 2015

App crashed when trying to update table in SQLite

What's wrong with my code ? I'm trying to update Table_Info column but I get java.lang.NullPointerException error. I have initialize everything but still no success.

Updatepage2.java

 private static String i;
 sqlcon = new InfoAPI(getActivity());
        Bundle bundle=this.getArguments();
        if(getArguments()!=null)
        {
            date=bundle.getString("date1"); // receive from previous activity
            ID = bundle.getString("ID");
        }

  editButton.setOnClickListener(new View.OnClickListener()
        {
            public void onClick(View arg0)
            {
                Log.e("TAG",ID);
                if ((i!= null && i.trim().length() > 0)) // if editText has value added
                {
                    Weather=weather3.getSelectedItem().toString();
                    Status=status3.getSelectedItem().toString();
                     sqlcon.updateInfo(ID,Weather,Status);
                    Log.e("TAG","DONE");
                }
                }

        });

InfoAPI.java

 public boolean updateInfo(String id,String weather,String status)
    {
        ContentValues values=new ContentValues();
        values.put(MyDatabaseHelper.Weather,weather);
        values.put(MyDatabaseHelper.Status,status);
        return database.update(MyDatabaseHelper.TABLE_INFO,values,MyDatabaseHelper.ID+"="+id,null)>0;

    }

If I didn't add value in i or change anything, log will display the ID when editButton is clicked. If I add value on i, it crashed.

LogCat error

 Process: com.example.project.project, PID: 2604
    java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.example.project.project.API.InfoAPI.updateInfo(java.lang.String, java.lang.String, java.lang.String)' on a null object reference
            at com.example.project.project.UpdatePage2$1.onClick(UpdatePage2.java:134)
            at android.view.View.performClick(View.java:5198)
            at android.view.View$PerformClick.run(View.java:21147)
            at android.os.Handler.handleCallback(Handler.java:739)

(UpdatePage2.java:134)

sqlcon.updateInfo(ID,Weather,Status);

Aucun commentaire:

Enregistrer un commentaire