我正在尝试创建一个简单的应用程序,我可以输入并显示一些数据。
我有MenuActivity,它只包含FrameLayout,而在MenuActivity的onCreate方法上,它会被包含2个按钮的MenuFragment填充。
第一个按钮会让我进入EntryFragment,在其中我输入一些数据并将其传递回MenuActivity(通过实现的界面)并将其放入List。
第二个按钮会让我进入ListFragment,它实际上是RecyclerView。 ListFragment由ListFragment.newInstance(列表列表)创建。
但是当我在EntryFragment中输入一些数据然后单击后退按钮时,我将在MenuFragment中。如果我然后打开我的ListFragment,它将不会填充我的数据。
我通过将MenuActivity List设置为静态来使其工作,然后在创建ListFragment时,我只传递该静态列表。
我真的怀疑这是正确的做法。 那么正确的方法是什么? 我是否应该每次输入一些数据时重新创建MenuFragment(并从MenuActivity传递List,然后在创建ListFragment时传递该数据)? 或者我错过了一些关于片段的内容?
答案 0 :(得分:0)
从MenuFragment打开EntryFragment时,您可以将TargetFragment设置为MenuFragment,以便您可以将回调直接传递给MenuFragment
,然后您可以保存在那里。
现在您拥有MenuFragmnet中的数据因此可以轻松处理Activity
和ListFragment
之间的数据
尝试阅读Fragment.setTargetFragment
和getTargetFragment().onActivityResult