android - 如何操作 onBackPressed 的结果?
问题描述
我正在尝试开发一个简单的 scoreKeeper 应用程序。问题是我不知道如何操纵 onBackPressed 的结果。我的意思是加或减。我试图转换为整数并在 textView 中显示,但这不起作用。
PS:从intent接收数据并简单显示在屏幕上我成功了。
这是我的代码:这是我的第二个意图的一个例子,效果很好
@Override
public void onBackPressed() {
Intent i2 = new Intent();
i2.putExtra("message2", mEditText.getText().toString());
setResult(RESULT_OK, i2);
和 MainActivity
if (requestCode == 2 && resultCode == RESULT_OK) {
mSecondscore.setText(data.getStringExtra("message2"));
但我想要别的东西,正如我所说的,这是我的代码:
public void onBackPressed() {
Intent i = new Intent();
i.putExtra("message", mEditText.getText().toString());
setResult(RESULT_OK, i);
Toast.makeText(this, "You added " + mEditText.getText().toString() + " points", Toast.LENGTH_LONG).show();
finish();
和 MainActivity
if (requestCode == 1 && resultCode == RESULT_OK) {
/* String a = data.getStringExtra("message");
int i = Integer.parseInt(a);
String b = data.getStringExtra("message5");
int z = Integer.parseInt(b);
int fResult = i - z;
String firstResult = Integer.toString(fResult);
mFirstScore.setText......
*/
textV.setText(data.getStringExtra("message"));
int a = Integer.parseInt(textV.getText().toString());
int b = a + 10;
mFirstScore.setText(Integer.toString(b));
解决方案
从您发布的代码中;错误在下面一行
mFirstScore.setText(Integer.toString(b));
使用下面的代码
mFirstScore.setText(String.valueOf(b));
对于您评论的错误您可能缺少以下代码
TextView textV= findViewById(R.id.your_id);
your_id
是您在 XML 中分配的 id。
推荐阅读
- html - 如何使用 Bootstrap 4 获得以下结果
- azure-devops - AzureDevops:我们可以在 yaml 中将动态值作为服务连接传递吗
- visual-studio - 类别过滤器因其保护级别而无法访问
- c# - 为什么相同的命令与 CMD 与 Process.Start() 的工作方式不同?
- material-ui - 自定义间距与网格间距不匹配
- security - 我可以利用外部访问管理系统在 Amazon Elastic Search 中使用细粒度访问控制吗?
- c# - 登录到基于相同基本模板开发的系统时出现“防伪令牌意味着基于声明的用户与当前用户不同”的错误
- dart - 为什么我不能从 Flutter Web 中的响应标头中读出 cookie 而 chrome 可以?
- json - 来自 Nginx 服务器的截断响应
- php - 事件列表显示 - API 数据和自定义帖子类型数据合并 Wordpress