Ich habe "java.lang.NullPointerException: Versuch, virtual aufzurufen Methode 'java.lang.String java.lang.Object.toString()' auf eine Null-Objektreferenz "dieser Fehler, wenn ich versuche, email.i zu senden. Ich hatte mehrere Antworten auf diese Fragen auf dieser Seite gesehen, aber ich bin nicht in der Lage mein error.Please korrigieren tun mir helfen ...... unten ist mein Code SendMailActivityFehler: java.lang.NullPointerException: Versuch, die virtuelle Methode 'java.lang.String java.lang.Object.toString()' für eine Nullobjekt-Referenz aufzurufen
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.Arrays;
import java.util.List;
public class SendMailActivity extends Activity {
/** Called when the activity is first created. */
String body,number,email;
final Context context = this;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send_mail);
Bundle b = getIntent().getExtras();
if(b!=null) {
number = b.getString("number");
email = b.getString("email");
body = b.getString("otp");
}
final Button send = (Button) this.findViewById(R.id.send);
send.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
List<String> toEmailList = Arrays.asList(email
.split("\\s*,\\s*"));
if(email!=null) {
new SendMailTask(SendMailActivity.this).execute("[email protected]",
"*****", toEmailList, "test", body);
//Intent intent2 = new Intent(context, Testotp.class);
//intent2.putExtra("otp", body);
Intent intent = new Intent(context, Testotp.class);
Bundle b = new Bundle();
//Inserts a String value into the mapping of this Bundle
b.putString("number", number);
b.putString("otp", body);
startActivity(intent);
}
}
});
}
}
SendMailTask (hier ist der Fehler)
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.util.Log;
import java.util.List;
public class SendMailTask extends AsyncTask {
private ProgressDialog statusDialog;
private Activity sendMailActivity;
public SendMailTask(Activity activity) {
sendMailActivity = activity;
}
protected void onPreExecute() {
statusDialog = new ProgressDialog(sendMailActivity);
statusDialog.setMessage("Getting ready...");
statusDialog.setIndeterminate(false);
statusDialog.setCancelable(false);
statusDialog.show();
}
@Override
protected Object doInBackground(Object... args) {
try {
Log.i("SendMailTask", "About to instantiate GMail...");
publishProgress("Processing input....");
if(args!=null) {
GMail androidEmail = new GMail(args[0].toString(),
args[1].toString(), (List) args[2], args[3].toString(), args[4].toString());
publishProgress("Preparing mail message....");
androidEmail.createEmailMessage();
publishProgress("Sending email....");
androidEmail.sendEmail();
publishProgress("Email Sent.");
Log.i("SendMailTask", "Mail Sent.");
}
} catch (Exception e) {
publishProgress(e.getMessage());
Log.e("SendMailTask", e.getMessage(), e);
}
return null;
}
@Override
public void onProgressUpdate(Object... values) {
statusDialog.setMessage(values[0].toString());
}
@Override
public void onPostExecute(Object result) {
statusDialog.dismiss();
}
}
Logcat
Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
at com.example.krithihaseshadri.proj.SendMailTask.doInBackground(SendMailTask.java:39)
at android.os.AsyncTask$2.call(AsyncTask.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
was ist genau Linie 39? –
Fügen Sie das Passwort Ihrer E-Mail nicht in Ihre Frage ein! Ich habe es für dich entfernt. –
danke ich habe gerade vergessen, es zu entfernen – Krithi