我有第一个片段,我将数据发送到另一个片段,具体取决于他们按下哪个按钮
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
,同样会将其添加到另一个。
答案 0 :(得分:0)
感谢Ruben我只是设置一个静态变量而不是使用Intent传递数据然后将我的按钮更改为
mButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
toButton = 1;
((AddItemsActivity1)getActivity()).ToNextPage(view);
}
});