- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 java/android 开发新手,所以如果可以的话请提供帮助。
我想要一个从 Web 服务(异步)获取数据的方法,一旦完成(onSuccess 或 onFailure),它应该调用 Activity 类上的另一个方法。假设我有 WebManager 类,这不是真正的方法,我将添加更多内容以及 try/catch 等:
public class WebManager {
public MyObject1 getObject1() {
AsyncHttpClient client = new AsyncHttpClient();
client.get(QUERY_URL,
new JsonHttpResponseHandler() {
@Override
public void onSuccess(JSONObject jsonObject) {
//Call method on my Activity and pass jsonObject (in the other method I want to pass my custom object instead of json)
}
@Override
public void onFailure(int statusCode, Throwable throwable, JSONObject error) {
//Call method on my Activity and pass statusCode, throwable and error
}
});
}
public MyObject2 getObject2() {
AsyncHttpClient client = new AsyncHttpClient();
// The same as above
}
}
现在在我的 MainActivity 中,我想调用 getObject1(),当下载数据时,我想调用方法:
WebManager wm = new WebManager();
//...
protected void onObject1DataDownload(JSONObject jsonObject) {
//Do something with the data
}
protected void onObject2DataDownload(CUSTOMOBJECT obj) {
//Do something with the data
}
我怎样才能实现这样的目标?提前致谢
最佳答案
创建界面
public interface ResponseListener {
void onObject1DataDownload(JSONObject jsonObject);
}
将WebManager中的getObject1()方法更改为参数化方法,并调用回调方法。
public class WebManager {
public MyObject1 getObject1(ResponseListener listener) {
AsyncHttpClient client = new AsyncHttpClient();
client.get(QUERY_URL,
new JsonHttpResponseHandler() {
@Override
public void onSuccess(JSONObject jsonObject) {
//here's the change
listener.onObject1DataDownload(jsonObject);
}
@Override
public void onFailure(int statusCode, Throwable throwable, JSONObject error) {
//Call method on my Activity and pass statusCode, throwable and error
}
});
}
在您的 Activity 中实现界面
public class MainActivity implements ResponseListener{
public void someMethod() {
WebManager wm = new WebManager();
//pass the activity as the listener
wm.getObject1(this);
}
protected void onObject1DataDownload(JSONObject jsonObject) {
//this method will be called }
protected void onObject2DataDownload(CUSTOMOBJECT obj) { //Do something with the data }
}
类似地,您可以为 onFailure 方法注册回调。
关于java - 从 onSuccess 调用方法到另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22075355/
如果在主题上成功发布了学生,我想将StudentDto返回给控制器。但因为onSuccess是在响应返回给控制器之后调用的。如果StudentDto成功发布,我有什么方法可以将其返回到。。如果在主题上
我正在java中使用tapestry,并且在tml文件中有一个循环,每行都有一个按钮。单击按钮时,我需要将行中元素的值传递给 onSuccess() 方法。我已经在按钮中尝试过使用 t: contex
我正在尝试使用 AjaxOptions.OnSuccess 来调用 javascript 函数并将参数传递给它。我可以毫无问题地调用一个没有参数的基本函数,这只是参数传递。 这是我的 JS 函数:
是否有一个处理程序方法,与失败相对应,类似于成功,可以真正退出该异步队列并继续正常的函数调用。 让我详细说明一下。让我们说 getConnection() .then(function(connect
我是 java/android 开发新手,所以如果可以的话请提供帮助。 我想要一个从 Web 服务(异步)获取数据的方法,一旦完成(onSuccess 或 onFailure),它应该调用 Activ
我有以下表格: @using (Ajax.BeginForm("DoComment", "Publication", new { id = Model.Publication.OID, pare
这是我在控制台中得到的: onSuccess(int, Header[], JSONObject) was not overriden, but callback was received 我已验证,
我正在开发一个基于 json 的应用程序。我想将数据从一个类传递给在 onSuccess 方法中接收的另一个类。当我请求数据时,数据将被正确接收,但是当我将该数据调用到其他类时,将发生空指针错误。我的
我使用 jqGrid 进行内联行编辑,我想让用户指示行更新是否成功。 问题是 onSuccess 事件在行编辑更新后没有触发,实际上没有任何操作事件被触发。 注意:我仅使用 JSON 服务器数据,没有
我做了 google connect 让用户使用他们的 google 帐户登录。 我所做的是,创建一个按钮 然后创建onSignIn() function onSignIn(googleUse
我正在使用 BrightFutures当我运行以下代码时,sequence().onComplete 和 sequence().onSuccess 在 geoCoder completionHandl
我正在尝试使用 Future 将一些基本功能链接在一起s 从一个光滑的 Action 中返回,我遇到了一些非常微不足道的绊脚石。 两者andThen和 onSuccess方法需要一个 PartialF
在 ASP.NET MVC 3 应用程序中,我使用 Ajax.BeginForm 将写入的文本发布到 Controller 。 @using (Ajax.BeginForm("Post", "Foru
如果RPC方法返回Void,那么它会调用onSuccess()方法吗?或者我必须返回一些值才能使 RPC 调用 onSuccess() 方法? 最佳答案 如果异步请求成功完成,无论其返回值如何,onS
我在 PageMethod 调用中使用了 onSuccess 和 onFailure。然而,它们都没有被调用,WebMethod 也没有被解雇。 alert("1"); PageMethods.Log
有人可以告诉我下面的代码怎么了。主要问题是该行: fDbListAllClients; // this is not being "called" 似乎没有执行。 也可能有其他错误代码。我不担心
我有一个 IndexedDB,其中包含页面上各种元素的属性。我对其中一个属性有一个索引,并使用键范围来获取特定的结果列表。 var key = IDBKeyRange.bound(10, 20); v
因此,我在 onSuccess 中有一些辅助行为,例如分析等。而且我需要传递给跟踪,不仅是查询/变异的结果(在这种情况下是变异),而且还有我传递的 arg。似乎只有将它附加到返回“数据”我才能做到这一
首先,之前对 SO 类似问题的回答根本没有帮助我。 有时调用executeTransactionAsync()时我没有在 onSuccess 中的 UI 线程上获取刷新数据方法。 例如,在下面的代码
我正在尝试使用以下结构将数据保存到 firebase root --clothing ----clothingImgDownloadUrl ------title ------category 据我了
我是一名优秀的程序员,十分优秀!