Problem with custom Dialog Android
- by Nanis
Hi,
I have a custom Dialog on my app and I have a problem to do what I would like.
I explain. My Dialog have had 4 Buttons. (Back, Valid, Modify and Restore)
When user click on Modify or Valid I would like to call another activity. So I use Intent but it crash.
The error Log : 
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):
  java.lang.NullPointerException 05-19
  13:29:21.495: ERROR/DEBUGTAG(974):
  at
  android.content.ComponentName.(ComponentName.java:75)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.content.Intent.(Intent.java:2551)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  com.android.booztermobile.activity.HeaderMailDisplayActivity.onClick(HeaderMailDisplayActivity.java:571)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.view.View.performClick(View.java:2364)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.view.View.onTouchEvent(View.java:4179)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.widget.TextView.onTouchEvent(TextView.java:6540)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.view.View.dispatchTouchEvent(View.java:3709)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.app.Dialog.dispatchTouchEvent(Dialog.java:643)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.os.Handler.dispatchMessage(Handler.java:99)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.os.Looper.loop(Looper.java:123)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  android.app.ActivityThread.main(ActivityThread.java:4363)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  java.lang.reflect.Method.invokeNative(Native
  Method) 05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  java.lang.reflect.Method.invoke(Method.java:521)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
  05-19 13:29:21.495:
  ERROR/DEBUGTAG(974):     at
  dalvik.system.NativeStart.main(Native
  Method)
My custom Dialog : 
package com.android.booztermobile.services;
import com.android.booztermobile.R;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
public class MailDialog extends Dialog {
    private Button btnValid;
    private Button btnBack;
    private Button btnRestore;
    private Button btnModify;
    private Context context;
    public MailDialog(Context cont) {
        super(cont);
        context = cont;
        }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d("TestApp", "Dialog created");
            setContentView(R.layout.dialog_classement);     
            btnValid = (Button) findViewById(R.id.btnValidClassement);
            btnBack = (Button) findViewById(R.id.btnBackClassement);    
            btnRestore = (Button) findViewById(R.id.btnRestoreClassement);
            btnModify = (Button) findViewById(R.id.btnModifyClassement);
    }
}
and the activity (cut because too long):
        //create dialog
 public void getMailInformations(View v, Context context){
  currentMail = (MailHeader) v.getTag();
  dial = new MailDialog(context);
  dial.setTitle("Classement");
  dial.show();
  btnValidClassement = (Button) dial.findViewById(R.id.btnValidClassement);
  btnValidClassement.setOnClickListener(this);
 }
/** the Onclick : */
public void onClick(View view) {
    if(view == btnValidClassement){
   try{
    ClassementHandlerCall classement = new               ClassementHandlerCall();
       boolean mailClassify = classement.classifyMail(AuthentificationActivity.uidh, 
         String.valueOf(currentMail.getSeqnum()), null, null);
       dial.dismiss();
       if (mailClassify == true){
        // create Intent
        Intent defineIntentDisplayPreviousMails = new Intent(HeaderMailDisplayActivity.this, ClassementActivity.class);
       }
   }catch(Exception e){
    // TODO Auto-generated catch block
    Log.e("DEBUGTAG","Error occured", e);
    e.printStackTrace();
   }
  }
}