首页 > 解决方案 > 如何操作 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));

标签: androidandroid-studioandroid-intentonactivityresultonbackpressed

解决方案


从您发布的代码中;错误在下面一行

mFirstScore.setText(Integer.toString(b));

使用下面的代码

mFirstScore.setText(String.valueOf(b));

对于您评论的错误您可能缺少以下代码

    TextView textV= findViewById(R.id.your_id);

your_id是您在 XML 中分配的 id。


推荐阅读