Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ViewSwitcher和AsyncTask_Android_Monodevelop_Xamarin.android - Fatal编程技术网

Android ViewSwitcher和AsyncTask

Android ViewSwitcher和AsyncTask,android,monodevelop,xamarin.android,Android,Monodevelop,Xamarin.android,在LoginClick上,我想在后台运行用户验证,同时我的ViewSwitcher切换到ProgressBar。我在执行这项任务时遇到困难 OnClick EventHander: void LoginClick (Object o, EventArgs e) { _v.ShowNext (); LoginUser lu = new LoginUser (this, _user.Text, _pw.Text); lu.Execute ("run"); } 登录用户类:

在LoginClick上,我想在后台运行用户验证,同时我的ViewSwitcher切换到ProgressBar。我在执行这项任务时遇到困难

OnClick EventHander:

void LoginClick (Object o, EventArgs e)
{
    _v.ShowNext ();
    LoginUser lu = new LoginUser (this, _user.Text, _pw.Text);
    lu.Execute ("run");
}
登录用户类:

class LoginUser: AsyncTask
{
    private readonly string _userName;
    private readonly string _password;
    private readonly Context _context;
            private User user;

    public LoginUser (Context context, string userName, string password)
    {
        _context = context;
        _userName = userName;
        _password = password;
    }

    protected override Java.Lang.Object DoInBackground (Java.Lang.Object[] @params)
    {
        WS ws = new WS ();
        user = ws.validateUser (_userName, _password);
        return true;          
    }

    protected override void OnPostExecute (Java.Lang.Object result)
    {
        Toast.MakeText (_context, user.Market, ToastLength.Long).Show ();
    }
}
但是当我构建项目时,会出现一个构建错误“LoginUser.DoInBackground被标记为覆盖,但没有找到合适的方法来覆盖。”

更新:所以MonoDevelop在扩展AsyncTask类方面有点不同。几乎在我所有的用户类中,我都需要放置Java.Lang.Object。我现在可以构建没有任何错误。然而,现在只要点击LoginClick,应用程序就会立即崩溃

E/mono    (18020): Unhandled Exception: Java.Lang.NoClassDefFoundError: Exception of type 'Java.Lang.NoClassDefFoundError' was thrown.
E/mono    (18020):   at Android.Runtime.JNIEnv.FindClass (System.String classname) [0x00000] in <filename unknown>:0 
E/mono    (18020):   at Android.Runtime.JNIEnv.FindClass (System.Type type) [0x00000] in <filename unknown>:0 
E/mono    (18020):   --- End of managed exception stack trace ---
E/mono    (18020): java.lang.NoClassDefFoundError: cpec_fm.LoginUser
E/mono    (18020):  at mono.android.view.View_OnClickListenerImplementor.n_onClick(Native Method)
E/mono    (18020):  at mono.android.view.View_OnClickListenerImplementor.onClick(View_OnClickListenerImplementor.java:29)
E/mono    (18020):  at android.view.View.performClick(View.java:3110)
E/mono    (18020):  at android.view.View$PerformClick.run(View.java:11934)
E/mono    (18020):  at android.os.Handler.handleCallback(Handler.java:587)
E/mono    (18020):  at android.os.Handler.dispatchMessage(Handler.java:92)
E/mono    (18020):  at android.os.Looper.loop(Looper.java:132)
E/mono    (18020):  at android.app.ActivityThread.main(ActivityThread.java:4143)
E/mono    (18020):  at java.lang.reflect.Method.invokeNative(Native Method)
E/mono    (18020):  at java.lang.reflect.Method.invoke(Method.java:491)
E/mono    (18020):  
E/mono(18020):未处理的异常:Java.Lang.NoClassDefFoundError:引发了类型为“Java.Lang.NoClassDefFoundError”的异常。
E/mono(18020):在Android.Runtime.JNIEnv.FindClass(System.String classname)[0x00000]中:0
E/mono(18020):在Android.Runtime.JNIEnv.FindClass(System.Type类型)[0x00000]中:0
E/mono(18020):--托管异常堆栈跟踪结束---
E/mono(18020):java.lang.NoClassDefFoundError:cpec_fm.login
E/mono(18020):位于mono.android.view.view\u OnClickListenerImplementor.n\u onClick(本机方法)
E/mono(18020):位于mono.android.view.view\u OnClickListenerImplementor.onClick(view\u OnClickListenerImplementor.java:29)
E/mono(18020):在android.view.view.performClick(view.java:3110)
E/mono(18020):位于android.view.view$PerformClick.run(view.java:11934)
E/mono(18020):位于android.os.Handler.handleCallback(Handler.java:587)
E/mono(18020):位于android.os.Handler.dispatchMessage(Handler.java:92)
E/mono(18020):位于android.os.Looper.loop(Looper.java:132)
E/mono(18020):位于android.app.ActivityThread.main(ActivityThread.java:4143)
E/mono(18020):位于java.lang.reflect.Method.Invokenactive(本机方法)
E/mono(18020):位于java.lang.reflect.Method.invoke(Method.java:491)
E/mono(18020):

上面更新了原始代码。

所以刚刚在VisualStudio中打开并部署,它就可以工作了。到目前为止,我们对MonoDevelop非常失望