问题:如何将对象从片段传递到活动(根据活动的请求)。
背景:我正在使用 Android Studio,并通过“新建 Android 活动”向导设置了一个新的选项卡式活动。然后我定义了 5 个片段,每个片段包含不同的输入集(编辑文本等)。
然后,每个输入表单都会填充一个自定义对象,以便可以将其传递到选项卡宿主活动。
然后,一旦按下任务栏上的“添加按钮”,我就会将对象保存在数据库中(这是应该从片段中获取对象的位置)。但是我找不到将对象从片段传递到活动的方法。
以前,我通过使用和调用“getObject()”方法在活动之间传递对象,这似乎不适用于片段。
我的片段当前没有“onAttach”方法,我不太确定它的作用。
预先感谢您的任何帮助。
你可以有一个界面:
public interface MyInterface {
void doSomethingWithData(Object data);
}
然后在活动类中:
public class MyActivity extends Activity implements MyInterface {
...
public void doSomethingWithData(Object data) {
// save your data in database
}
...
}
和片段:
public class MyFragment extends Fragment {
...
private MyInterface listener;
...
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof MyInterface) {
listener = (MyInterface) context;
}
}
@Override
public void onDetach() {
listener = null;
super.onDetach();
}
...
// Somewhere in code .. where you want to send data to the activity
listener.doSomethingWithData(data);
...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)