片段无法强制转换为android.content.Context

时间:2016-12-10 06:06:44

标签: java php android mysql login

我想将我的登录页面连接到MySQL PHP,但我在这里遇到了一些错误。

这是我的logcat:

807/com.aeu.mlibrary.mlibraryaeu E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.aeu.mlibrary.mlibraryaeu, PID: 1807
java.lang.ClassCastException: com.aeu.mlibrary.mlibraryaeu.LoginFragment cannot be cast to android.content.Context
    at com.kosalgeek.asynctask.PostResponseAsyncTask.<init>(PostResponseAsyncTask.java:284)
    at com.aeu.mlibrary.mlibraryaeu.LoginFragment.onClick(LoginFragment.java:82)
    at android.view.View.performClick(View.java:4438)
    at android.view.View$PerformClick.run(View.java:18422)
    at android.os.Handler.handleCallback(Handler.java:733)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5001)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
    at dalvik.system.NativeStart.main(Native Method)

这是我的loginFragment.java中的错误行:

@Override
public void onClick(View v) {
    HashMap postData = new HashMap();
    postData.put("mobile", "android");
    postData.put("txtUsername", etUsername.getText().toString());
    postData.put("txtPassword", etPassword.getText().toString());


    PostResponseAsyncTask task = new PostResponseAsyncTask(LoginFragment.this, postData);
    task.execute("http://10.0.3.2/mlibrary/HTML/login.php");
}

我需要你的帮助!

谢谢。

2 个答案:

答案 0 :(得分:0)

用getActvity()

替换LoginFragment.this
{{1}}

答案 1 :(得分:0)

用getContext()替换LoginFragment.this:

PostResponseAsyncTask task = new PostResponseAsyncTask(getContext(), postData);