我的回收视图上有这样的场景:
一旦我从我的回收视图中单击一个项目,我想显示该项目的详细信息到另一个活动(例如DetailsActivity),同时,利用新的活动视图转换(API 21)上的回收服务。
通过在recyclerAdapter上的视图上逐项单击侦听器找到了一些方法,但我不太确定由此可能产生的性能问题。
当然,我们可以通过意图包/parcelables将驻留在回收视图项目中的数据模型传递给活动,但是,我完全不知道如何在RxJava/RxAndroid中使用它。我曾经使用过绿色机器人的事件总线,但是既然我使用了RxJava并进行了改造,那么我也可以使用它。
有人能给我指明正确的方向吗?
谢谢。
发布于 2016-06-13 17:09:37
我以前也这样做过,应该警告你,这听起来不容易。
步骤1使用RX实现您自己的简单事件总线
您可以访问这个站点- weddingpartyapp.com,这是Kaushik编写的一个很好的教程,可以使用RxAndroid创建一个简单但高效的EventBus。
或者您可以只使用这里的代码(这是我一年前开始的一个废弃项目,但有一个工作的EventBus并回答了您的问题)。
步骤2在您实现EventBus之后,您必须为您想要在总线上传递的所有手势创建对象(点击、双击、长按等等)
看看这段代码,并实现所有需要代码的对象。
步骤3将此代码添加到您的RecyclerView.OnItemTouchListener实现中,如果您已经复制了我的代码,应该-
public RecyclerItemClickListener(Context c) {
bus = ... //get instance of bus
gestureDetector = new GestureDetector(c, new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onSingleTapUp(MotionEvent e) {
bus.putValue(string, childPosition);
bus.publish(new BusEvents.RecyclerViewItemClick());
return true;
}
@Override
public void onLongPress(MotionEvent e) {
bus.publish(new BusEvents.TapEvent());
}
});
}否则,不管你创建什么方法,都要做同样的事情。
希望能帮上忙!
编辑
weddingpartyapp.com不再可用。请使用这链接从返回机器的方式为本教程。
https://stackoverflow.com/questions/37716396
复制相似问题