【问题标题】:Could not dispatch Event error无法调度事件错误
【发布时间】:2014-12-28 10:37:37
【问题描述】:

我是 android 新手,正在开发 app。请帮帮我。我的日志在这里

  Could not dispatch event: class com.shalom.shalombase.event.RequestPurchaseEvent to handler [EventHandler public void com.shalom.shalombase.activity.MainActivity.onRequestPurchaseEvent(com.shalom.shalombase.event.RequestPurchaseEvent)]: null
        at com.squareup.otto.Bus.throwRuntimeException(Bus.java:456)
        at com.squareup.otto.Bus.dispatch(Bus.java:386)
        at com.squareup.otto.Bus.dispatchQueuedEvents(Bus.java:367)
        at com.squareup.otto.Bus.post(Bus.java:336)

将事件发布到主要活动的 Myfragment 订阅片段。

  public class SubscribeFragment extends ShalomBaseFragment {


private Button subscribeLayout;
private LinearLayout subscribebuttonslayout;
private FrameLayout sampleframe;
private RelativeLayout subscribelayout;
View progressLayout;


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    return inflater.inflate(R.layout.subscribe_layout, container, false);
}

@Subscribe
public void onStoreProgressEvent (StoreProgressEvent event) {

    if(event!=null&&progressLayout!=null)
    {

        if(event.isInProgress)
            progressLayout.setVisibility(View.VISIBLE);
        else
            progressLayout.setVisibility(View.GONE);

    }
}


@Override
public void onViewCreated(View view, Bundle savedInstanceState) {

    super.onViewCreated(view, savedInstanceState);
    initialize(view);

    subscribebuttonslayout.setVisibility(View.VISIBLE);
    subscribelayout.setVisibility(View.VISIBLE);

    subscribeLayout.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            bus.post(new RequestPurchaseEvent(BaseConstants.YEARLY_SUBSCRIPTION));

        }
    });

    getChildFragmentManager().beginTransaction()
            .replace(R.id.sample_frame, new LibrarySamleIssueFragment())
            .commit();



 }

private void initialize(View view) {

    subscribeLayout = (Button) view.findViewById(R.id.button1);
    subscribebuttonslayout = (LinearLayout) view.findViewById(R.id.subscribe_buttons_layout);
    sampleframe = (FrameLayout) view.findViewById(R.id.sample_frame);
    progressLayout = (View) view.findViewById(R.id.progress_layout);
    subscribelayout = (RelativeLayout) view.findViewById(R.id.subscribe_layout);
}



  }

请帮助我。它在 S3 上运行良好,但在 Nexus7 上产生了问题。 我不知道代码有什么问题。我对此感到困惑

【问题讨论】:

  • 在此处添加您的课程,很可能您将 RequestPurchaseEvent 设置为 null。
  • @oguzhand 查看我的编辑,我有我班级的邮政编码

标签: java android android-event


【解决方案1】:

otto 代码:

method.invoke(target, event);

接下来的操作是:

@Subscribe
public void yourMethod(Event event) {
    //your code throw exception
}

你的方法抛出异常被otto捕获

所以,这是我的条件。

【讨论】:

    猜你喜欢
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 1970-01-01
    相关资源
    最近更新 更多