我正在尝试使用另一个活动的数据创建回收器视图。我需要将数据从一个活动传输到回收器视图活动,而不打开回收器视图活动。因为只有当我按下另一个按钮时,我才想转到下一个活动。
我尝试过使用Intent,但startActivity(intent)
总是打开另一个Activity。我还尝试过使用“共享”首选项保存数据并在另一个Activity中检索数据,但Base64.DEFAULT
不起作用。
public void sendData(Bitmap images, String image_class) {
Intent send = new Intent(getApplicationContext(), Scanned_List_Activity.class);
send.putExtra("image_class",image_class);
send.putExtra("image", images);
startActivity(send);
}
1条答案
按热度按时间kyks70gy1#
如果我没理解错你的问题,你应该换一种方法。
Activity表示
View
或者更好的MVC
架构中的Controller
。您在RecyclerReceiver
中获得的数据来自模型,Activity只是将其传递给视图。这就是为什么正确的方法是将此数据放在模型层中,而不是将其作为Parcelable
对象通过Intent
传递。现在我们有一个
ViewModel
类,它是介于model
和view
之间的一个层。如果你使用DI工具,比如dagger,你可以在这两个Activity之间保留一个ViewModel
的示例--当你在第一个Activity上准备数据集时,第二个Activity将在下一次打开时获得它。简而言之,您应该将此数据集放在单独的表中,并从第二个活动请求,或者放在
ViewModel
上,这两个活动共享哪个示例。