java - 我想要两个在一个按钮中创建两个功能
问题描述
我正在开发一个将数据存储在Firebase
. 问题是当我单击提交时,数据仍保留在表单上。当我单击提交时,我需要它返回主屏幕。
我尝试使用开始活动方法,就像我想从MainActivity
另一个班级移动时一样。它会起作用,但我的数据将不会被保存。
我很感激任何帮助。提前致谢!
buttonSubmitReport.setOnClickListener(v -> {
reports.setDate(textDate.getText().toString().trim());
reports.setTime(textTime.getText().toString().trim());
reports.setReport(editRep.getText().toString().trim());
reff.push().setValue(reports);
reff.child(String.valueOf(maxID+1)).setValue("Reports");
Toast.makeText(submitReport.this,"Thanks for the information!", Toast.LENGTH_LONG).show();
}
});
解决方案
我从您的问题中得到的是,您从那里有一个活动,您正在开始另一个活动来编辑详细信息,然后单击某个按钮,您想保存这些详细信息并返回到以前的活动,对吗?要做到这一点,只需添加一些监听器,当它完成时,只需完成活动
buttonSubmitReport.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
reports.setDate(textDate.getText().toString().trim());
reports.setTime(textTime.getText().toString().trim());
reports.setReport(editRep.getText().toString().trim());
reff.push().setValue(reports);
reff.child(String.valueOf(maxID + 1)).setValue("Reports")
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
// Write was successful!, here either finish or move to another activity
Toast.makeText(submitReport.this, "Thanks for the information!", Toast.LENGTH_LONG).show();
finish();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Write failed
Toast.makeText(submitReport.this, "Failed to store the data", Toast.LENGTH_LONG).show();
}
});
});
推荐阅读
- firebase - React Native Firebase - signInWithPhoneNumber 不返回确认结果
- javascript - 输入到文本区域
- android - Android 蓝牙 HCI:蓝牙控制器如何与 DSP 通信?
- powershell - Powershell 中的“Get-FileMetaData”不是 Cmdlet
- javascript - ReactJS 分页
- http - 获取 SocketException:操作系统错误:连接超时,errno = 110,地址 = 10.0.2.2,端口 = 47732
- reactjs - 如何在 AWS Beanstalk 上将 React 的 process.env.NODE_ENV 设置为生产环境
- unity3d - 获取整数中的数字而不转换为字符串
- flutter - 出现错误:参数类型“对象?” 不能分配给参数类型“地图”
' - angular - 角度模板函数调用