-1

In my project am getting nullpointerexception in the class shown below also I have attached the logcat and the java class below.In the if case i have given condition like "if(name == null)" am not sure it's correct or wrong If wrong means suggest me the correct code to solve NPE..

Thank you in advance

public void onClick(DialogInterface dialog,int id)
 {
                        // yes();
Intent tablewise = new Intent(Seating_Engagement.this,LoginForm.class);
                            startActivity(tablewise);
                            finish();

                        }
                })

logcat:

10-13 10:25:33.914  24201-24201/com.sentientit.theiWedplanner E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.NullPointerException
            at com.sentientit.theiWedplanner.Seating_Engagement$2.onClick(Seating_Engagement.java:77)
            at android.view.View.performClick(View.java:4421)
            at android.view.View$PerformClick.run(View.java:18190)
            at android.os.Handler.handleCallback(Handler.java:725)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:175)
            at android.app.ActivityThread.main(ActivityThread.java:5279)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
            at dalvik.system.NativeStart.main(Native Method)
10-13 10:25:45.445  24201-24206/com.sentientit.theiWedplanner I/dalvikvm﹕ threadid=3: reacting to signal 3
10-13 10:25:45.578  24201-24206/com.sentientit.theiWedplanner I/dalvikvm﹕ Wrote stack traces to '/data/anr/traces.txt'

In line 77 the exception occurs i have marked the line as (77) in the java file below

Seating_Engagement

    import android.app.AlertDialog;
    import android.app.Dialog;
    import android.app.ProgressDialog;
    import android.content.Context;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.net.ConnectivityManager;
    import android.net.NetworkInfo;
    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
    import android.view.View;
    import android.widget.Button;

    import com.bugsense.trace.BugSenseHandler;

    import java.util.StringTokenizer;

    public class Seating_Engagement extends FragmentActivity{

        ProgressDialog myProgressDialog = null;
        String username=welcomeuser1.usernamevalue;
        String result=null;
        String nameresult=null;
        String Table,Chart=null;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);       BugSenseHandler.initAndStartSession(this, "68640bea");

            setContentView(R.layout.seatingchart);

            Button familywise=(Button)findViewById(R.id.familywise);
            Button tablewisesummary=(Button)findViewById(R.id.tableclassify);
            Button assignedguest=(Button)findViewById(R.id.assignedguest);
            Button notassignedguest=(Button)findViewById(R.id.notassignedguest);
            Button tablechair=(Button)findViewById(R.id.tableclass);
            Button groupwise=(Button)findViewById(R.id.groupwise);
            Button tablewise=(Button)findViewById(R.id.tablewisesummary);
            Button familywisesummary=(Button)findViewById(R.id.familywisesummary);
            Button groupwisesummary=(Button)findViewById(R.id.groupwisesummary);
            Button arrangementsummary=(Button)findViewById(R.id.totaltables);


             Button back=(Button)findViewById(R.id.back);
            Button seatingoverview =(Button)findViewById(R.id.seatingview);

            back.setOnClickListener(new View.OnClickListener() {

                //@Override
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    finish();
                }
            });

            seatingoverview.setOnClickListener(new View.OnClickListener() {

                //@Override
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    if(username.equals("null"))
                    {
                        Dialog locationError = new AlertDialog.Builder(
                                Seating_Engagement.this)
                        .setIcon(0)
                        .setTitle("Message!")
                        .setPositiveButton(R.string.ok1,
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                        int id) {
                        // yes();
 (77)   Intent tablewise = new Intent(Seating_Engagement.this,LoginForm.class);
                            startActivity(tablewise);
                            finish();
                            }
                    })
                        .setMessage("Registered users can access this page. Click 'Yes' to login")
                        .setNegativeButton(R.string.no,
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {


                            }
                        })

                        .create();
                        locationError.show();
                    }
                    else
                    {
                        Dialog locationError = new AlertDialog.Builder(
                                Seating_Engagement.this)
                        .setIcon(0)

                        .setPositiveButton("Table",
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                // yes();
                                Intent tablewise = new Intent(Seating_Engagement.this,
                                        Seating_EngagementTable.class);
                                startActivity(tablewise);
                                //  finish();


                            }
                        })

                        .setNegativeButton("Chart",
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                Intent tab=new Intent(Seating_Engagement.this,Seating_Engagementviewtable.class);
                                startActivity(tab);
                                finish();


                            }
                        })

                        .create();
                        locationError.show();


                    }



                }
            });


            notassignedguest.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {

                    Intent tablewise=new Intent(Seating_Engagement.this,Engagement_Notyetseated.class); 
                    startActivity(tablewise);
                    //                  finish();

                }

            });

            assignedguest.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    Intent tablewise=new Intent(Seating_Engagement.this,Engagement_AssignedGuest.class);
                    startActivity(tablewise);
                    //finish();

                }

            });



            tablechair.setOnClickListener(new View.OnClickListener() {

                //@Override
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Intent tablewise=new Intent(Seating_Engagement.this,Engagement_TableClassify.class);    
                    startActivity(tablewise);
                    //                  finish();

                }
            });


            tablewisesummary.setOnClickListener(new View.OnClickListener() {

                //@Override
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    if(username.equals("null"))
                    {
                        Dialog locationError = new AlertDialog.Builder(
                                Seating_Engagement.this)
                        .setIcon(0)
                        .setTitle("Message!")
                        .setPositiveButton(R.string.ok1,
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                // yes();
                                Intent tablewise = new Intent(Seating_Engagement.this,
                                        LoginForm.class);
                                startActivity(tablewise);
                                finish();


                            }
                        })
                        .setMessage("Registered users can access this page. Click 'Yes' to login")
                        .setNegativeButton(R.string.no,
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {


                            }
                        })

                        .create();
                        locationError.show();
                    }
                    else
                    {
                        Dialog locationError = new AlertDialog.Builder(
                                Seating_Engagement.this)
                        .setIcon(0)

                        .setPositiveButton("Table",
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                // yes();
                                Intent tablewise = new Intent(Seating_Engagement.this,
                                        Engagement_TableChairSummary.class);
                                startActivity(tablewise);
                                //finish();


                            }
                        })

                        .setNegativeButton("Chart",
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                Intent tab=new Intent(Seating_Engagement.this,Engagement_ViewTable.class);
                                startActivity(tab);
                                finish();


                            }
                        })

                        .create();
                        locationError.show();


                    }



                }
            });


            familywisesummary.setOnClickListener(new View.OnClickListener() {

                //@Override
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    if(username.equals("null"))
                    {
                        Dialog locationError = new AlertDialog.Builder(
                                Seating_Engagement.this)
                        .setIcon(0)
                        .setTitle("Message!")
                        .setPositiveButton(R.string.ok1,
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                // yes();
                                Intent tablewise = new Intent(Seating_Engagement.this,
                                        LoginForm.class);
                                startActivity(tablewise);
                                finish();


                            }
                        })
                        .setMessage("Registered users can access this page. Click 'Yes' to login")
                        .setNegativeButton(R.string.no,
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {


                            }
                        })

                        .create();
                        locationError.show();
                    }
                    else
                    {
                        Dialog locationError = new AlertDialog.Builder(
                                Seating_Engagement.this)
                        .setIcon(0)

                        .setPositiveButton("Table",
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                // yes();
                                Intent tablewise = new Intent(Seating_Engagement.this,
                                        Engagement_Familywisesummary.class);
                                startActivity(tablewise);
                                //finish();


                            }
                        })

                        .setNegativeButton("Chart",
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                Intent tab=new Intent(Seating_Engagement.this,Engagement_Familyviewtable.class);
                                startActivity(tab);
                                finish();


                            }
                        })

                        .create();
                        locationError.show();

                    }


                }
            });

            groupwisesummary.setOnClickListener(new View.OnClickListener() {

                //@Override
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    if(username.equals("null"))
                    {
                        Dialog locationError = new AlertDialog.Builder(
                                Seating_Engagement.this)
                        .setIcon(0)
                        .setTitle("Message!")
                        .setPositiveButton(R.string.ok1,
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                // yes();
                                Intent tablewise = new Intent(Seating_Engagement.this,
                                        LoginForm.class);
                                startActivity(tablewise);
                                finish();


                            }
                        })
                        .setMessage("Registered users can access this page. Click 'Yes' to login")
                        .setNegativeButton(R.string.no,
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {


                            }
                        })

                        .create();
                        locationError.show();
                    }
                    else
                    {
                        Dialog locationError = new AlertDialog.Builder(
                                Seating_Engagement.this)
                        .setIcon(0)

                        .setPositiveButton("Table",
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                // yes();
                                Intent tablewise = new Intent(Seating_Engagement.this,
                                        Engagement_Groupwisesummary.class);
                                startActivity(tablewise);
                                //finish();


                            }
                        })

                        .setNegativeButton("Chart",
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                Intent tab=new Intent(Seating_Engagement.this,Engagement_Groupviewtable.class);
                                startActivity(tab);
                                finish();


                            }
                        })

                        .create();
                        locationError.show();

                    }


                }
            });

            familywise.setOnClickListener(new View.OnClickListener() {

                //@Override
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub


                    //  String user_url ="http://mobileapps.iwedplanner.com/mobileapps/iwedplanner/mobile/tabledisplay.aspx?unme="+username+"&occasion=Engagement";
                    String user_url ="http://mobileapps.iwedplanner.com/mobileapps/iwedplanner/mobile/version21/seating-table-display.aspx?unme="+username+"&occasion=Engagement";


                    httpclass obj = new httpclass();
                    result = obj.server_conn(user_url);

                    StringTokenizer st = new StringTokenizer(result, "|");
                    result = st.nextToken();

                    //  String user ="http://mobileapps.iwedplanner.com/mobileapps/iwedplanner/mobile/Notallocated_familywise.aspx?unme="+username+"&occasion=Engagement";

                    String user="http://mobileapps.iwedplanner.com/mobileapps/iwedplanner/mobile/version21/notallocated_familywise.aspx?unme="+username+"&occasion=Engagement";

                    httpclass objg = new httpclass();
                    nameresult = objg.server_conn(user);

                    StringTokenizer s = new StringTokenizer(nameresult, "|");
                    nameresult = s.nextToken();

                    if(result.equals("There is no table"))
                    {

                        alertbox("Assignment", "None of the table has been created");

                    }
                    else if(nameresult.equals("No Guests"))
                    {

                        alertbox("Assignment", "No Guest invited");

                    }
                    else
                    {
                        boolean netvalue = false;
                        ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);


                        NetworkInfo info = cm.getActiveNetworkInfo();
                        if (info != null && info.isAvailable()) {
                            netvalue = true;
                            Intent tablewise=new Intent(Seating_Engagement.this,Engagement_FamilwiseAllocation.class);  

                            startActivity(tablewise);
                            //  finish();
                        }
                        else
                        {
                            alertbox("Message!", "No Internet Connection!");
                        }
                    }




                }
            });

            groupwise.setOnClickListener(new View.OnClickListener() {

                //@Override
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub


                    //  String user_url ="http://mobileapps.iwedplanner.com/mobileapps/iwedplanner/mobile/tabledisplay.aspx?unme="+username+"&occasion=Engagement";

                    String user_url ="http://mobileapps.iwedplanner.com/mobileapps/iwedplanner/mobile/version21/tabledisplay.aspx?unme="+username+"&occasion=Engagement";

                    httpclass obj = new httpclass();
                    result = obj.server_conn(user_url);

                    StringTokenizer st = new StringTokenizer(result, "|");
                    result = st.nextToken();

                    //  String user ="http://mobileapps.iwedplanner.com/mobileapps/iwedplanner/mobile/Not_allocated_notfamily.aspx?unme="+username+"&occasion=Engagement";
                    String user="http://mobileapps.iwedplanner.com/mobileapps/iwedplanner/mobile/version21/Not_allocated_notfamily.aspx?unme="+username+"&occasion=Engagement";


                    httpclass objg = new httpclass();
                    nameresult = objg.server_conn(user);

                    StringTokenizer s = new StringTokenizer(nameresult, "|");
                    nameresult = s.nextToken();         
                    if(result.equals("There is no table"))
                    {

                        alertbox("Summary", "None of the table has been created");

                    }
                    else if(nameresult.equals("No Guests"))
                    {

                        alertbox("Assignment", "No Guest invited");

                    }
                    else
                    {

                        Intent tablewise=new Intent(Seating_Engagement.this,Engagement_GroupWiseAllocation.class);                              
                        startActivity(tablewise);
                        //finish();
                    }


                }
            });

            tablewise.setOnClickListener(new View.OnClickListener() {

                //@Override
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    if(username.equals("null"))
                    {
                        Dialog locationError = new AlertDialog.Builder(
                                Seating_Engagement.this)
                        .setIcon(0)
                        .setTitle("Message!")
                        .setPositiveButton(R.string.ok1,
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                // yes();
                                Intent tablewise = new Intent(Seating_Engagement.this,
                                        LoginForm.class);
                                startActivity(tablewise);
                                finish();


                            }
                        })
                        .setMessage("Registered users can access this page. Click 'Yes' to login")
                        .setNegativeButton(R.string.no,
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {


                            }
                        })

                        .create();
                        locationError.show();
                    }
                    else
                    {
                        Dialog locationError = new AlertDialog.Builder(
                                Seating_Engagement.this)
                        .setIcon(0)

                        .setPositiveButton("Table",
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                // yes();
                                Intent tablewise = new Intent(Seating_Engagement.this,
                                        Engagement_TableWiseSummary.class);
                                startActivity(tablewise);
                                //finish();


                            }
                        })

                        .setNegativeButton("Chart",
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                Intent tab=new Intent(Seating_Engagement.this,Engagement_Tableviewtable.class);
                                startActivity(tab);
                                finish();


                            }
                        })

                        .create();
                        locationError.show();
                    }



                }
            });



            arrangementsummary.setOnClickListener(new View.OnClickListener() {

                //@Override
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    // String user_url ="http://mobileapps.iwedplanner.com/mobileapps/iwedplanner/mobile/tabledisplay.aspx?unme="+username+"&occasion=Engagement";

                    String user_url ="http://mobileapps.iwedplanner.com/mobileapps/iwedplanner/mobile/version21/tabledisplay.aspx?unme="+username+"&occasion=Engagement";


                    httpclass obj = new httpclass();
                    result = obj.server_conn(user_url);

                    StringTokenizer st = new StringTokenizer(result, "|");
                    result = st.nextToken();


                    if(result.equals("There is no table"))
                    {

                        alertbox("Summary", "None of the table has been created");

                    }
                    else
                    {

                        Intent tablewise=new Intent(Seating_Engagement.this,Engagement_TotalSeatingStatus.class);        
                        startActivity(tablewise);
                        //  finish();
                    }
                }

            });

        }
        protected void alertbox(String title, String mymessage)  
        {  
            new AlertDialog.Builder(this)  
            .setMessage(mymessage)  
            .setTitle(title)  
            .setCancelable(true)  
            .setNeutralButton(android.R.string.ok,  
                    new DialogInterface.OnClickListener() {  
                @Override
                public void onClick(DialogInterface dialog, int whichButton){}  
            })  
            .show();  
        } 
        @Override
        public void onStart() {
            super.onStart();
            // The rest of your onStart() code.
            //  EasyTracker.getInstance(this).activityStart(this);  // Add this method.
        }

        @Override
        public void onStop() {
            super.onStop();
            // The rest of your onStop() code.
            // EasyTracker.getInstance(this).activityStop(this);  // Add this method.
        }

    }
vimal kumar
  • 75
  • 1
  • 8

4 Answers4

0

You are not checking username for null properly. That is where your NPE lies, the username is null, yet you call the "equals()" method on it.

Change it to:

if(username == null){
   (...)
}
0

try this...

  if (TextUtils.isEmpty(username)) {

        //code here

    } else{

        //code here
    }

or

   if(username.equals("")){

    Toast.makeText(getApplicationContext(), "Please Enter Username", Toast.LENGTH_SHORT).show();
 }
 else{

     //code here      

 }
Naveen
  • 545
  • 2
  • 4
  • 17
0

You can change (77) Intent tablewise = new Intent(Seating_Engagement.this,LoginForm.class);

to

Intent tablewise = new Intent(getActivity(),LoginForm.class);

getActivity().startActivity(tablewise);

Quoc Le
  • 416
  • 3
  • 9
0
final String user= username.getText().toString();

if (user.matches("")) {
    username.setError("Please Enter Name");
}
Johan
  • 7,269
  • 1
  • 29
  • 45
Android
  • 517
  • 4
  • 15