我有一个第一个片段,我根据他们按下的按钮将数据发送到另一个片段
mButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getActivity(), AddItemsActivity1.class);
intent.putExtra("ToButton", 1);
((AddItemsActivity1)getActivity()).ToNextPage(view);
}
});
mButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getActivity(), AddItemsActivity1.class);
intent.putExtra("ToButton", 2);
((AddItemsActivity1)getActivity()).ToNextPage(view);
}
});
这些按钮将数据发送到它自己的片段的活动。
然后,我在另一个片段中检索数据,该片段也在AddItemsActivity1活动中
int toButton = getActivity().getIntent().getIntExtra("ToButton", 0);
然后根据它获得的值,它会添加到我的数据库中的某个子项。
if (toButton == 1) {
String key = mDairyDataBase.push().getKey();
HashMap<String, String> dataMap = new HashMap<>();
dataMap.put("Name", item);
dataMap.put("Key", key);
mDairyDataBase.child(key).setValue(dataMap);
}
else if (toButton == 2){
String key = mFruitsDataBase.push().getKey();
HashMap<String, String> datamap = new HashMap<>();
datamap.put("Name", item);
datamap.put("Key", key);
mFruitsDataBase.child(key).setValue(datamap);
}
我的问题是它不返回值,因此它永远不会添加到数据库中。当我将默认值toButton
更改为 1 时,它会将其添加到mDairyDatabase
,另一个也是如此。
感谢鲁本,我只是设置了一个静态变量,而不是使用 Intent 来传递数据,然后将我的按钮更改为
mButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
toButton = 1;
((AddItemsActivity1)getActivity()).ToNextPage(view);
}
});