假设我有 5 个按钮。对于每个按钮,我希望能够触发一个侦听器。一旦监听器被触发,我想在我的 sdk 中触发一个异步任务,然后让 sdk 返回异步任务的状态。
1)我写一个单独的监听器/按钮吗?我在某处读到我只能在 android 中注册一个侦听器,如果那是真的,我该如何处理许多侦听器?
2) 如何将 SDK 的 postExecute 调用结果返回到 api 层?
假设我有 5 个按钮。对于每个按钮,我希望能够触发一个侦听器。一旦监听器被触发,我想在我的 sdk 中触发一个异步任务,然后让 sdk 返回异步任务的状态。
1)我写一个单独的监听器/按钮吗?我在某处读到我只能在 android 中注册一个侦听器,如果那是真的,我该如何处理许多侦听器?
2) 如何将 SDK 的 postExecute 调用结果返回到 api 层?
1)我写一个单独的监听器/按钮吗?我在某处读到我只能在 android 中注册一个侦听器,如果那是真的,我该如何处理许多侦听器?
一个 View 只能有一个每种类型的监听器,即一个 Button 不能有两个OnClickListeners
。不要将此与一个侦听器可以附加到多个视图这一事实混淆,即 ButtonA 和 ButtonB 可以具有相同的OnClickListener
2) 如何将 SDK 的 postExecute 调用结果返回到 api 层?
你的术语不正确,但你会在你去的时候弄明白。通常onPostExecute()
会调用另一个方法或直接使用视图:
@Override
protected void onPostExecute(String result) {
doSomething(result);
textView.setText(result);
}
最简单的方法是在活动中设置一个侦听器,然后处理多个按钮。您可以使用OnKeyListener类执行此操作。然后,您对按下哪个键进行切换,为您希望操作的按钮设置案例,然后启动您的AsyncTask
.
我不太确定“返回 postExecute”是什么意思。但是,如果您查看AsyncTask,您会看到如何使用正确的参数将结果返回到 onPostExecute。当您实例化您的子类时,AsyncTask
您可以轻松地传递您希望执行回调的活动或上下文。
您可以有多个侦听器,根据您想对它们做什么,您可以为每个按钮设置一个。至于postExecute()
,它在 UI 线程上运行,因此您可以从那里显示结果或做任何您想做的事情。有关更多详细信息,您需要提供一些您尝试过的代码,并准确说明您遇到问题的地方。如果您还没有,请通过