我有关于片段相互更新值的问题。Android片段正在等待另一片段的数据
我有一个叫做UserFragment
的片段,另一个叫CarsFragment
。 UserFragment获取用户数据,carFragment获取用户拥有的多辆汽车。然后我需要保存这个。
所以,首先,在userFragment中,我将获得用户详细信息。然后,在我想保存细节之前,我需要知道在保存用户数据之前是否已经填充/提供了汽车细节。一旦提供,我可以保存它。
public class UserFragemnt extends Fragment {
private EditText mUserName;
private EditText mUserOccupation;
private String [] muserCars = null;
...//onCreate
mUserName= (EditText) view.findViewById(R.id.UserName)
mUserOccupation= (EditText) view.findViewById(R.id.UserOccupation)
if (userCar != null){ //so here i want to be sure the data is set by the carFragment
//call saveUserdata()
}
//this function gets called by the main activity
public void getUserCarsString [] userCars){
muserCars = userCars;
}
}
所以,问题是,什么是对的carFrament最好的方式让我/套的数据,所以,当我去保存它,我的数据?所以在这个问题中需要注意的一点是,userFragment需要在保存之前等待数据。
我已阅读有关界面,然后在主要活动中进行定义。我做了这样的条件检查,看看汽车的细节是否更新。我不认为这是最好的方式。我跟着这个例子:http://developer.android.com/training/basics/fragments/communicating.html
还简要地了解数据绑定变量:http://developer.android.com/tools/data-binding/guide.html
感谢
好的,所以在这种情况下,我不需要实现一个正确的接口?我只是将它称为UserFragment的另一个功能吧?但是一旦我知道数据在那里,有没有办法调用。就像告诉UserFragment CarFragment有数据的事件一样?此外,我认为这种方式可能与@迈克尔Liberman回答正确。 –
你不需要,它会在没有它的情况下工作,但通常是一个很好的习惯来提取这样的接口。他们让你的碎片彼此分离,并导致更好的架构。 –
还有一个问题,.add()中的内容ID是什么? –