- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在将数据从 AsyncTask
传递到选项卡式 Activity 的 fragment 。为什么EventBus的onEvent()
没有被调用?
BackgroundWorker.java
doInBackground() 由 MainActivity 调用
public class BackgroundWorker extends AsyncTask<String,Void,String> {
@Override
protected void onPostExecute(String line) {
userResult = line.split(" ");
String result = userResult[0];
if(result.equals("Success")){
CustomMessageEvent event = new CustomMessageEvent();
event.setCustomMessage(line);
Intent intent = new Intent(context,TabActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
EventBus.getDefault().post(event);
}
}
}
ProfileTab.java
该文件是选项卡式 Activity 的 fragment 。是否有任何事情应该在选项卡式 Activity 中完成,或者是否必须再次调用 doInBackground。
public class ProfileTab extends Fragment {
public TextView t1;
private View rootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.profile, container, false);
t1 = (TextView) rootView.findViewById(R.id.textView4);
EventBus.getDefault().register(this);
Log.d(TAG, "onCreateView: ");
return rootView;
}
@Subscribe(threadMode = ThreadMode.ASYNC)
public void onEventAsync(CustomMessageEvent event) {
Log.d(TAG, "onEvent: ");
t1.setText(event.getCustomMessage());
}
}
尝试了 LocalBroadcastManager,结果是一样的,onReceive()
没有被调用。我哪里出错了?
最佳答案
如果您在 onPostExecute
中启动 Activity,我建议按 Intent 传递数据,而不是事件 - 这样更简单。您订阅的方法不会被调用,因为事件是在您注册之前发布的 - 使用 postSticky
而不是 post
,您将收到一个事件。
我假设,您想传递line
(String
)。因此构建 Intent :
Intent intent = new Intent(context,TabActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("LINE", line);
context.startActivity(intent);
然后,在 onCreate 中的 TabActivity
中读取传递的值:
String line = getIntent().getStringExtra("LINE", "");
关于java - onEvent() 没有被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41673908/
我正在尝试使用FileObserver监视手机的屏幕截图目录,我尝试了所有事件,方法onEvent id没有在任何事件上被调用。我所做的是安装应用程序后,拍了一张屏幕截图,但该方法没有被调用。即使尝试
我有这个代码 当我点击减号时,ajax标签的监听器应该在onevent之前执行。通常情况下,情况正好相反。 我试过这个: function deleteOrganizer(d
我正在将数据从 AsyncTask 传递到选项卡式 Activity 的 fragment 。为什么EventBus的onEvent()没有被调用? BackgroundWorker.java doI
transformEvents 方法将在 bloc 版本 8 中删除,我们应该使用 onEvent 方法代替,我们如何为事件实现 debounce使用 onEvent? @override S
摘要: 这最终是一个关于 Vue.js 的问题(尽管我认为它通常适用于 JavaScript)。 首先介绍一下背景:我注意到 Angular 风格指南中的一些内容可以作为有关 Vue 的问题的基础。
我正在尝试在我的自定义未捕获异常处理程序 (UEH) 中使用 Flurry 的 onEvent 方法,但事件没有显示,我认为这可能是因为当它到达异常处理程序时 flurry session 已结束。
有没有办法检测事件是使用输入设备触发还是通过.onEvent()中的脚本触发? 最佳答案 短篇小说,不。 您唯一可以检查的是传递到回调处理程序(“事件处理程序”)的事件对象。就像他的答案中建议的 ty
您好,我正在使用事件总线将数据从一个 fragment 传递到另一个 fragment 从 fragment-1 我正在做如下 @Override public void onPause() {
在我的小应用程序中,我从系统(不受我控制)收到一系列排队的 onEventXXX()。 不能保证那些 onEventXXX() 的时间。唯一可以保证的是,它们会按照放入队列的顺序接收。 在 onEve
什么时候应该做以下事情? class Foo : Control { protected override void OnClick(EventArgs e) { //
这个问题已经有答案了: Javascript - arrow functions this in event handler? (5 个回答) 已关闭 3 年前。 为什么我无法在 JavaScript
我正在尝试确定文件何时被修改。目前我有一个类文件观察者类,其中包含 public class fileObserver extends FileObserver { public String
我希望能够在事件中自动提交表单(通用表单,用于用户跟踪)。 例如,创建一个 POST 到 http://www.example.com/index.php?option=track&variable=
我想在从任何文件管理器或图库中删除图像之前复制文件,但是 FileObserver 的 onEvent 触发,但我只想在用户删除任何文件时专门获取事件来自 FileObserver 的观察路径 obs
有人可以帮我解决这个问题吗? 我想观察一个文件,看看它是否被修改,以便我可以更新 Activity 。经过多次测试,我确定它根本无法正常工作。我做错了什么吗? 我正在创建一个带有 onEvent 方法
我正在尝试编写一个 JavaScript(jQuery 也可以)函数来检查用户在当前页面上的非事件时间。我知道在 JavaScript 中有特定的窗口事件,如 window.onload、window
在我的JSF 2.0(在JBoss AS 7)项目中,我希望在我的ajax提交的表单上显示在开始和完成阶段触发的小图标状态,让最终用户知道某些事情仍在发生。 primefaces p:ajaxStat
ApplicationEventListener#onEvent 永远不会被调用。这里可能出了什么问题。使用了资源配置类,我可以调用 API。 MyApplication org.g
我已经编写 JS(主要是 jQuery)好几个月了,但今天我决定将我的第一个抽象作为 jQuery 方法。我已经有了可用的代码,但我觉得/知道我的做法不对,所以我来这里寻求启发。 注意:请不要回答说已
我已经运行了一个 fileObserver,现在我需要在调用 onEvent 后启动一个 Activity ,考虑到我无法获取 startActivity(),我不太确定如何执行此操作。 这是我当前的
我是一名优秀的程序员,十分优秀!