【问题标题】:NoSuchMethodError Request.setTagNoSuchMethodError Request.setTag
【发布时间】:2018-04-08 19:27:51
【问题描述】:

我试图在注册过程中从服务器获取响应,但应用程序在尝试获取服务器消息时不断崩溃。下面是向AppControlla.java 发出请求的代码部分,而AppControlla.java 又将请求传递给服务器。

@Override
        public void onResponse(String response) {
            Log.d(TAG, "Register Response: " + response.toString());
            hideDialog();

这是AppControlla.java

import android.app.Application;
import android.text.TextUtils;

import com.app.myapp.JsonRequestActivity;

import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.Volley;

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.POST;

import static android.R.attr.tag;

public class AppController extends Application {

public static final String TAG = AppController.class.getSimpleName();

private RequestQueue mRequestQueue;

private static AppController mInstance;

@Override
public void onCreate() {
    super.onCreate();
    mInstance = this;
}

public static synchronized AppController getInstance() {
    return mInstance;
}

public RequestQueue getRequestQueue() {
    if (mRequestQueue == null) {
        mRequestQueue = Volley.newRequestQueue(getApplicationContext());
 }

    return mRequestQueue;
    }

public <T> void addToRequestQueue(Request<T> req, String tag) {
    req.setTag(TextUtils.isEmpty(tag) ? TAG : tag);//crash occurs here
    getRequestQueue().add(req);

}

public <T> void addToRequestQueue(Request<T> req ) {
    req.setTag(TAG);
    getRequestQueue().add(req);
}

public void cancelPendingRequests(Object tag) {
    if (mRequestQueue != null) {
        mRequestQueue.cancelAll(tag);
    }
}
}    

下面是logcat消息

java.lang.NoSuchMethodError: No virtual method setTag(Ljava/lang/Object;)Lcom/android/volley/Request; in class Lcom/android/volley/Request; or its super classes (declaration of 'com.android.volley.Request' appears in /data/app/com.fastchat-2/split_lib_dependencies_apk.apk:classes27.dex) at com.fastchat.AppController.addToRequestQueue(AppController.java:45) 

【问题讨论】:

标签: java android web-services android-volley


【解决方案1】:

我终于解决了。问题来自我在build.gradle 中的一个依赖项,我刚刚删除了其中一些,崩溃停止了。感谢你们的想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-20
    • 2021-07-19
    • 2019-05-07
    • 2015-12-23
    • 2015-09-11
    • 2017-08-27
    • 2020-11-08
    • 1970-01-01
    相关资源
    最近更新 更多