Re: [问题]为何BottomSheet和Fragment之间传资料?-2

楼主: MAXQb   2021-03-28 00:02:00
那个,先谢谢各位,之前各位的建议我都有参考范例及试作
刚好网络上有Viewmodel+livedata教学,所以我就自己试+更改程式码才没有弄出错误
(Java的范例不太好找,现在多是Kotlin的...)
但传资料和监听还是有些问题,目标和上次是一样的
没有错误的同时资料也没有变化Orz...
以下是显示画面和程式码等
显示画面
https://i.imgur.com/ta9jpvz.png
单例
https://i.imgur.com/YtKWA46.png
Fragment
https://i.imgur.com/1qxe818.png
BottomSheet
https://i.imgur.com/SLz3kpB.png
https://i.imgur.com/nSlJSxa.png
Viewmodel
https://i.imgur.com/TyBfwNX.png
我本来是想:
button.set();<-只能自己写方法去myViewModel.size_data()拿到资料放进去
但是它报错
如果写myViewModel.getCurrentName().getValue()拿到资料放进去
结果是没有变化
试了半天还是想不到哪里有错,只好再来请教各位
再次谢谢各位
※ 引述《MAXQb ()》之铭言:
: 接下来是比较复杂的使用问题(Java写法)。
: 如图所示:
: https://i.imgur.com/jKs2g5t.png
: 首先
: 1.有1个Activity
: 2.Activity里有3个能滑动换页面的Fragment(Viewpager2)及TabLayout
: 3.Fragment里有N个Button,ex:Button1、Button2等
: 4.按下Button后画面底部会出现bottom_sheet出来
: 5.bottom_sheet里面预计有Button、ImageButton、SeekBar等项目
: 6.项目选择完后,资料会传回Button1那呈现选择结果
: 之后重复3.~6.直到选择完
: 这期间Button1、Button2呈现的选择结果资料都能维持在画面上
:
作者: daniel098962 (阿河)   2021-03-29 17:44:00
看起来你没透过livedata的postValue把资料传递出去不过我没用过livedata 仅用过Rx 但概念应该差不多另外你的情况应该不用再宣告新的myViewModel2

Links booklink

Contact Us: admin [ a t ] ucptt.com