- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的大学做一个项目。我的 Android 应用程序需要与服务器通信以发送命令并接收一些数据。我能够发送和接收数据。问题是当我想在 volly 类之外打印该数据时,没有收到可用的数据。
final RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
StringRequest stringRequest = new StringRequest(Request.Method.GET, server_url += "/?data="+ enteredUsername.getText().toString()+","+ enteredPassword.getText().toString()+","+enteredSiteId.getText().toString(),
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
returnFromServer =response.toString();
requestQueue.stop();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
commandStatus.setText("SERVER DOWN");
error.printStackTrace();
requestQueue.stop();
}
});
requestQueue.add(stringRequest);
commandStatus.setText(returnFromServer);//there is no value here out side the volly class
}
我必须比较服务器返回的值以供进一步使用。
最佳答案
在您的类中创建一个 ResponseListener 对象,如下所示:
Response.Listener<String> response = new Response.Listener<String>(){
@Override
public void onResponse(String response) {
returnFromServer =response.toString();
requestQueue.stop();
}
};
然后将监听器传递给volley:
public void yourMethod(){
....
callApi(response)
....
}
public void callAPI(Response.Listener<String> response) {
StringRequest stringRequest = new StringRequest(Request.Method.GET, server_url += "/?data="+ enteredUsername.getText().toString()+","+ enteredPassword.getText().toString()+","+enteredSiteId.getText().toString(),
response,
new Response.ErrorListener(){...}
}
实现
public class MainActivity extends Activity{
Response.Listener<String> response = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
returnFromServer =response.toString();
requestQueue.stop();
}
};
private void callAPI(Response.Listener<String> respone) {
final RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
StringRequest stringRequest = new StringRequest(Request.Method.GET, server_url += "/?data="+ enteredUsername.getText().toString()+","+ enteredPassword.getText().toString()+","+enteredSiteId.getText().toString(),
response,
, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
commandStatus.setText("SERVER DOWN");
error.printStackTrace();
requestQueue.stop();
}
});
requestQueue.add(stringRequest);
commandStatus.setText(returnFromServer);//there is no value here out side the volly class
}
}
}
只需在您想要的任何地方调用 callAPI 方法,并将响应作为参数传递即可。如果从服务器收到响应,则调用 MainActivity 中的 onResponse 方法。
this
。关于java - 如何在volly类之外检索volley响应Listner的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47237484/
我一直在创建一个自定义 TabFolder 扩展,它添加了一个键监听器以允许使用 ALT + # 热键快速切换标签。 通过将 KeyAdapter 添加到我的 TabFolder,事件处理程序仅在您选
昨天我问了this question如果在 servlet 中从外部库加载/导入类/& 创建对象会导致任何性能问题?我得到的答案可能是也可能不是,但是如果库大小很大并且如果我们在 Servlet 中启
我正在尝试使用 relp 配置 rsyslog tls,但不断出现错误。我正在使用 RHEL 7.2 和 rsyslog 8.15。我确实设法使用 relp + tls 发送消息,但没有使用证书。添加
我有这个监听器: this.renderer.listenGlobal('document', 'mousemove', function(e: MouseEvent){ }); 例如,我有一个变量,
我是 android 的新手,我正在使用 jms 主题在 Android 中接收消息,现在我想生成该消息的通知,例如,当收到消息时出现通知。为了生成通知,我需要应用程序的上下文我尝试了不同的方法但现在
调用多个方法吗?
我可以从监听器中的ajax事件选择中调用多个方法吗?
我是一名优秀的程序员,十分优秀!