Android 找不到源-应用程序意外停止工作

Android 找不到源-应用程序意外停止工作,android,Android,当我点击提交按钮。。。当我调试时,它显示为“未找到源”。。。在设备中,它显示为应用程序意外停止工作 Button btnSubmit = (Button) findViewById(R.id.btnSubmit); btnSubmit.setOnClickListener(new View.OnClickListener() { public void onClick(View view) {

当我点击提交按钮。。。当我调试时,它显示为“未找到源”。。。在设备中,它显示为应用程序意外停止工作

Button btnSubmit = (Button) findViewById(R.id.btnSubmit);
        btnSubmit.setOnClickListener(new View.OnClickListener() {                           
            public void onClick(View view) {
                //finish();
                //Intent DiscIntent = new Intent (view.getContext(), Disclaimer.class);
                //startActivityForResult(DiscIntent, 0);
                if(ValidateInformation())
                {
                    EditText etUserName = (EditText)findViewById(R.id.txtUserName);

                if(UserNameAvailability(view, etUserName.getText().toString().trim()))
我的日志详细信息如下

   01-12 16:52:39.664: E/AndroidRuntime(338): Uncaught handler: thread main exiting due to uncaught exception
01-12 16:52:39.674: E/AndroidRuntime(338): java.lang.NullPointerException: println needs a message
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.util.Log.println(Native Method)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.util.Log.w(Log.java:157)
01-12 16:52:39.674: E/AndroidRuntime(338):  at com.anb.eCalculator.RegisterActivity.UserNameAvailability(RegisterActivity.java:236)
01-12 16:52:39.674: E/AndroidRuntime(338):  at com.anb.eCalculator.RegisterActivity$3.onClick(RegisterActivity.java:73)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.view.View.performClick(View.java:2364)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.view.View.onTouchEvent(View.java:4179)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.widget.TextView.onTouchEvent(TextView.java:6541)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.view.View.dispatchTouchEvent(View.java:3709)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-12 16:52:39.674: E/AndroidRuntime(338):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
01-12 16:52:39.674: E/AndroidRuntime(338):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
01-12 16:52:39.674: E/AndroidRuntime(338):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.os.Looper.loop(Looper.java:123)
01-12 16:52:39.674: E/AndroidRuntime(338):  at android.app.ActivityThread.main(ActivityThread.java:4363)
01-12 16:52:39.674: E/AndroidRuntime(338):  at java.lang.reflect.Method.invokeNative(Native Method)
01-12 16:52:39.674: E/AndroidRuntime(338):  at java.lang.reflect.Method.invoke(Method.java:521)
01-12 16:52:39.674: E/AndroidRuntime(338):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
01-12 16:52:39.674: E/AndroidRuntime(338):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
01-12 16:52:39.674: E/AndroidRuntime(338):  at dalvik.system.NativeStart.main(Native Method)
下面是我的用户名可用性函数

protected boolean UserNameAvailability(View view, final String sUserName)
{
布尔结果=假

SoapObject request = new SoapObject(getResources().getString(R.string.targetnamespace), getResources().getString(R.string.usernameavailabilitymethod));
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;

PropertyInfo piUserName = new PropertyInfo();
piUserName.name = "UserName";

request.addProperty(piUserName, sUserName);

HttpTransportSE httpTransport = new HttpTransportSE(getResources().getString(R.string.webserviceurl));                 
    try {
        httpTransport.debug =true;
        httpTransport.call(getResources().getString(R.string.usernameavailabilitysoapaction), envelope);                    
        SoapPrimitive response = (SoapPrimitive)envelope.getResponse(); 
        if (!response.toString().equals("false")) {
            result = true;

        }
        else
        {
            alertBox("User Name already exists.Please enter different username.");
        }

      }catch (Exception exception) {
        Log.w("UserRegistration - RegisterActivity", exception.getMessage());
      }


      return result;
}

下面是我的完整按钮点击事件

 Button btnSubmit = (Button) findViewById(R.id.btnSubmit);
        btnSubmit.setOnClickListener(new View.OnClickListener() {                           
            public void onClick(View view) {
                //finish();
                //Intent DiscIntent = new Intent (view.getContext(), Disclaimer.class);
                //startActivityForResult(DiscIntent, 0);
                if(ValidateInformation())
                {
                    EditText etUserName = (EditText)findViewById(R.id.txtUserName);

                if(UserNameAvailability(view, etUserName.getText().toString().trim()))
                {
                 EditText etFirstName = (EditText)findViewById(R.id.txtFirstName);
                 EditText etLastName = (EditText)findViewById(R.id.txtLastName);        
                 EditText etEmail = (EditText)findViewById(R.id.txtEmail);      
                 EditText etQuery= (EditText)findViewById(R.id.txtQuery);
                 EditText etTelephone = (EditText)findViewById(R.id.txtTelePhone);
                 EditText etOrganization = (EditText)findViewById(R.id.txtOrganization);
                 EditText etRegion = (EditText)findViewById(R.id.txtRegionCountry);
                 EditText etPassword = (EditText)findViewById(R.id.txtPassword);
                 EditText etConfirmPassword = (EditText)findViewById(R.id.txtConfirmPassword);//Added By Prakash
                 //EditText etUserName1 = (EditText)findViewById(R.id.txtUserName); 



                Bundle bunUserInfo = new Bundle();
                bunUserInfo.putString("UserName", etUserName.getText().toString());
                bunUserInfo.putString("FirstName", etFirstName.getText().toString());
                bunUserInfo.putString("LastName", etLastName.getText().toString());
                bunUserInfo.putString("Email", etEmail.getText().toString());
                bunUserInfo.putString("Query", etQuery.getText().toString());
                bunUserInfo.putString("Telephone", etTelephone.getText().toString());
                bunUserInfo.putString("Organization", etOrganization.getText().toString());
                bunUserInfo.putString("Region", etRegion.getText().toString());
                bunUserInfo.putString("Password", etPassword.getText().toString());
                bunUserInfo.putString("ConfirmPassword", etConfirmPassword.getText().toString());
                //bunUserInfo.putString("UserName", etUserName1.getText().toString());




                Intent goToNextActivity = new Intent(getApplicationContext(), Disclaimer.class);
                goToNextActivity.putExtras(bunUserInfo);
                startActivity(goToNextActivity);
                }
                else
                {
                    alertBox("User Name already exists. Please enter different User Name.");
                }
            }

            }
        });

我猜UserNameAvailability调用Log.w时在某个地方有一个空参数


在UserNameAvailability中查找对Log.w的调用,其中标记或消息为null。

我猜UserNameAvailability调用Log.w时在某个地方使用null参数

在UserNameAvailability中查找对Log.w的调用,其中标记或消息为空。

更改此行

Log.w("UserRegistration - RegisterActivity", exception.getMessage());

这样,即使
exception.getMessage()
函数返回null,您也将始终拥有一条消息(以及日志中的stacktrace)

更改此行

Log.w("UserRegistration - RegisterActivity", exception.getMessage());


这样,即使
exception.getMessage()
函数返回null,您也将始终拥有一条消息(以及日志中的stacktrace)

你确定你的整个代码就是这么多吗?你可能想发布你的函数的源代码
usernameavability
,以及在那里发生的异常:)你的日志说在你的RegisterActivity类的第236行,你正试图在没有任何消息文本的情况下记录一条警告消息。我已经发布了我的usernameavability功能。。。plz check我也发布了我的完整按钮click even你确定你的整个代码就是这么多吗?你可能想发布你的函数的源代码
usernameavability
,以及那里发生的异常:)你的日志说在你的RegisterActivity类的第236行,你正在尝试记录一条警告消息,而没有任何提示消息文本。我已发布我的用户名可用性函数。。。请检查我也张贴了我的完整按钮点击,即使我无法清楚地了解。。。我发布了我的全部代码。。。你能不能调查一下,清楚地告诉我。。。很抱歉我是android开发新手我觉得异常。getMessage()似乎为空,而不是使用常量字符串或exeption.printStacktrace()。我无法清楚地理解。。。我发布了我的全部代码。。。你能不能调查一下,清楚地告诉我。。。很抱歉我是android开发新手,我觉得exception.getMessage()似乎为空,而不是使用常量字符串或exeption.printStacktrace()。