如何解决如何在Kotlin回调中做到这一点?
请问我该如何用kotlin的Java语言编写回调,代码基本上是基于对凌空库发出请求的情况,我需要通过接口获取响应,对此我将不胜感激>
排球类
...
public void stringRequest(String url,final VolleyStringResponse volleyResponse){
StringRequest stringRequest = new StringRequest(Request.Method.GET,url,new Response.Listener<String>() {
@Override
public void onResponse(String response) {
volleyResponse.onSuccess(response);
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
volleyResponse.onError(error);
}
});
VolleySingleton.getInstance(context).addToRequestQueue(stringRequest);
}
//Interface
public interface VolleyStringResponse{
void onSuccess(String response);
void onError(VolleyError error);
}
MainActivity类
. . .
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
VolleyRequest volleyRequest = new VolleyRequest(this);
volleyRequest.stringRequest(getUrlAPI(),new VolleyRequest.VolleyStringResponse() {
final TextView textView = findViewById(R.id.text);
@Override
public void onSuccess(String response) {
textView.setText(response);
}
@Override
public void onError(VolleyError error) {
textView.setText(error.getMessage());
}
});
}
}
解决方法
排球课
fun stringRequest(url: String?,volleyResponse: VolleyStringResponse) {
val stringRequest = StringRequest(Request.Method.GET,url,object: Listener<String?>() {
fun onResponse(response: String?) {
volleyResponse.onSuccess(response)
}
},object: ErrorListener() {
fun onErrorResponse(error: VolleyError?) {
volleyResponse.onError(error)
}
})
VolleySingleton.getInstance(context).addToRequestQueue(stringRequest)
}
//Interface
interface VolleyStringResponse {
fun onSuccess(response: String?)
fun onError(error: VolleyError?)
}
MainActivity类
val volleyRequest = VolleyRequest(this)
volleyRequest.stringRequest(getUrlAPI(),object: VolleyStringResponse() {
val textView: TextView = findViewById(R.id.text)
override fun onSuccess(response: String?) {
textView.text = response
}
fun onError(error: VolleyError) {
textView.text = error.message
}
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。