1

我有这个场景在我的recyclerview项目:一旦我从我的recyclerview单击一个项目最佳方式使用点击RX-的Android

,我想表明该项目的另一个详细信息活动(比如DetailsActivity),同时利用该回收视图中的新视图(API 21)的活动转换。

通过让recyclerAdapter上的视图拥有itemclick监听器,发现了一些方法,但是我不能确定可能由此产生的性能问题。

Ofcourse当然,我们可以将驻留在recyclerview项目中的数据模型通过意图捆绑/可以传递给活动,但是我完全不知道如何将它与RxJava/RxAndroid结合使用。我已经使用了GreenRobot的事件总线,但由于即时使用RxJava进行改造,可能会使用它。

有人能指出我正确的方向吗?

谢谢。

回答

1

我以前做过这一点,应该提醒你,它不容易,因为它听起来

步骤1与RX
实现自己的简单事件公共汽车上,你可以去这个网站是 - weddingpartyapp.com这是Kaushik Gopal使用RxAndroid创建简单而高效的EventBus的一个很好的教程。
或者你可以用我的代码here(这是一个被遗弃的项目,我开始了一个一年多以前,但有一个工作EventBus和回答你的问题)

步骤2后,你已经实现你的EventBus,你“将不得不为所有你想绕过公交车(轻击,双击,长按等)的手势对象
看看这个代码,并实现你需要code

步骤中的所有对象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已不存在。请使用Way Back Machine的this链接作为教程。

+0

hi mate!感谢这个解决方案。快速的问题:BusEvents.RecyclerViewItemClick()将包含什么?你自己的一套onclick功能? – user3115201

+0

如果我的理解是正确的,你还利用公共汽车作为点击位置的阵列地图存储? – user3115201

+0

总线事件类仅仅是可能发生的所有事件的包装类(有点),而每个事件只是一个空对象。你只需在公共汽车上用字符串传递空的物体。例如:在位置5上的点击将作为在公共汽车中的入口并且以BusEvents.RecyclerViewItemClick的对象发布。因此所有订阅BusEvents.RecyclerViewItemClick的人都将获得对。希望有所帮助! –