我在register()方法上面添加了一個開關盒,並且我遇到了致命異常,並且如果我刪除了開關盒,它的工作正常。如果我在註冊方法中使用onclicklistner,它也爲我工作,但我想實現切換案例,我該怎麼做?Android:開關盒的致命異常
在此先感謝...!
這是我的代碼。
Thread t;
ProgressDialog dialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button signin = (Button) findViewById(R.id.regsubmitbtn);
signin.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showDialog(0);
t = new Thread() {
public void run() {
register();
}
};
t.start();
}
});
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0: {
dialog = new ProgressDialog(this);
dialog.setMessage("Please wait while connecting...");
dialog.setIndeterminate(true);
dialog.setCancelable(true);
return dialog;
}
}
return null;
}
Button signin = (Button) findViewById(R.id.regsubmitbtn);
signin.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showDialog(0);
t = new Thread() {
public void run() {
register();
}
};
t.start();
}
});
}
String gender;
Button regmalebtn = (Button) findViewById(R.id.regmalebtn);
Button regfemalebtn = (Button) findViewById(R.id.regfemalebtn);
// Here in the above line I m getting the error//
public void onClick(View v) {
switch(v.getId()){
case R.id.regmalebtn:
gender = regmalebtn.getText().toString();
gender.equals("M");
// request.addProperty("gender",gender);
break;
case R.id.regfemalebtn:
gender = regfemalebtn.getText().toString();
gender.equals("F");
// request.addProperty("gender", gender);
break;
default:
break;
}
}
public void register() {
Log.v(TAG, "Trying to Login");
EditText etxt_user = (EditText) findViewById(R.id.regetfirstname);
EditText etxt_pass = (EditText) findViewById(R.id.regetlastname);
EditText etxt_dob = (EditText) findViewById(R.id.regetdob);
// in the above line i m getting error//
EditText etxt_email = (EditText) findViewById(R.id.regetemail);
EditText etxt_password = (EditText) findViewById(R.id.regetpwd);
EditText etxt_confirmpassword = (EditText) findViewById(R.id.regetrepwd);
EditText etxt_mobno = (EditText) findViewById(R.id.regetmobno);
Button regmalebtn = (Button) findViewById(R.id.regmalebtn);
// in the above line I m getting the error//
Button regfemalebtn = (Button) findViewById(R.id.regfemalebtn);
// String deviceid = null;
String fname = etxt_user.getText().toString();
String lname = etxt_pass.getText().toString();
String dob = etxt_dob.getText().toString();
String contact = etxt_mobno.getText().toString();
String password;
String confirmpassword ;
String email = etxt_email.getText().toString();
password = etxt_password.getText().toString();
confirmpassword = etxt_confirmpassword.getText().toString();
final SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
// in the above line I m getting errors//
soapEnvelope.dotNet = true;
soapEnvelope.setOutputSoapObject(request);
// in the above line i m getting error
HttpTransportSE aht = new HttpTransportSE(URL);
這些[R我logcat的消息
06-21 18:59:34.435: ERROR/AndroidRuntime(1164): FATAL EXCEPTION: main
06-21 18:59:34.435: ERROR/AndroidRuntime(1164): java.lang.RuntimeException:
Unable to instantiate activity ComponentInfo{com.soap/com.soap.Register}:
java.lang.NullPointerException
06-21 18:59:34.435: ERROR/AndroidRuntime(1164):
ERROR/AndroidRuntime(1164): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
ERROR/AndroidRuntime(1164): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
ERROR/AndroidRuntime(1164): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
ERROR/AndroidRuntime(1164): at android.os.Handler.dispatchMessage(Handler.java:99)
ERROR/AndroidRuntime(1164): at android.os.Looper.loop(Looper.java:123)
ERROR/AndroidRuntime(1164): at android.app.ActivityThread.main(ActivityThread.java:4627)
ERROR/AndroidRuntime(1164): at java.lang.reflect.Method.invokeNative(Native Method)
ERROR/AndroidRuntime(1164): at java.lang.reflect.Method.invoke(Method.java:521)
實際上在你的代碼中有一個NullPointerException。嘗試在使用前初始化稱爲性別的變量。像這樣的東西。字符串gender = null或「」;。 – Varundroid
@Varundroid嗨,做了同樣的掃管笏你說過,但這次錯誤r像這樣06-21 19:12:51.885:錯誤/ AndroidRuntime(1218):java.lang.RuntimeException:無法實例化活動ComponentInfo {com。 soap/com.soap.Register}:java.lang.NullPointerException 06-21 19:12:51.885:ERROR/AndroidRuntime(1218):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java ERROR/AndroidRuntime(1218) :at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) ERROR/AndroidRuntime(1218):at android.app.ActivityThread.access $ 2300(ActivityThread.java:125) – Randroid
什麼是'gender.equals(「M 「);'應該這樣做嗎?它會返回一個布爾值而不會改變任何東西。字符串賦值是'gender =」M「;'。 – Haphazard