Android 创建两个活动活动一将有一个文本视图和一个按钮。-活动2将有一个文本字段(EditText)和一个按钮

Android 创建两个活动活动一将有一个文本视图和一个按钮。-活动2将有一个文本字段(EditText)和一个按钮,android,Android,你好,我有点问题。有人能帮我吗 创建两个活动。 活动一将有一个文本视图和一个按钮 活动2将有一个文本字段(EditText)和一个按钮 从活动一调用startActivityForResult的第二个活动(意图、请求代码) 在活动2中,调用setResult(int resultCode,Intent data)并将textview值放入数据中,然后完成() 在活动1中,重写ActivityResult上的方法,并检查请求和结果代码是否与setResult(int resultCode,

你好,我有点问题。有人能帮我吗

  • 创建两个活动。
    • 活动一将有一个文本视图和一个按钮
    • 活动2将有一个文本字段(EditText)和一个按钮
  • 从活动一调用startActivityForResult的第二个活动(意图、请求代码)
  • 在活动2中,调用setResult(int resultCode,Intent data)并将textview值放入数据中,然后完成()
  • 在活动1中,重写ActivityResult上的方法,并检查请求和结果代码是否与setResult(int resultCode,Intent data)的resultCode不活动2匹配
  • 从数据中获取值并将其设置为activity1中的textview
  • 从活动一调用startActivityForResult的第二个活动(意图、请求代码)
  • 在活动2中,调用setResult(int resultCode,Intent data)并将textview值放入数据中,然后完成()
  • 在活动1中,重写ActivityResult上的方法,并检查请求和结果代码是否与setResult(int resultCode,Intent data)的resultCode不活动2匹配
  • 从数据中获取值并将其设置为activity1中的textview

  • 在活动1中,您将希望使用startActivityWithResult()调用活动2,如下所示:

    然后在活动2中,您将在完成活动时返回结果:

    Intent data = new Intent();
    data.putExtra("ACTIVITY_TWO_KEY", "Here is your value");
    setResult(Activity.RESULT_OK, data);
    finish();
    
    然后回到活动1,您将希望覆盖onActivityResult,如下所示:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (REQUEST_CODE) {
        case ACTIVITY_TWO_REQUEST_CODE:
            if (resultCode == Activity.RESULT_OK) {
                //Load your text into your TextView from Activity Two
            }
            break;
        }
    
        super.onActivityResult(requestCode, resultCode, data);
    }
    

    在活动1中,您将希望使用startActivityWithResult()调用活动2,如下所示:

    然后在活动2中,您将在完成活动时返回结果:

    Intent data = new Intent();
    data.putExtra("ACTIVITY_TWO_KEY", "Here is your value");
    setResult(Activity.RESULT_OK, data);
    finish();
    
    然后回到活动1,您将希望覆盖onActivityResult,如下所示:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (REQUEST_CODE) {
        case ACTIVITY_TWO_REQUEST_CODE:
            if (resultCode == Activity.RESULT_OK) {
                //Load your text into your TextView from Activity Two
            }
            break;
        }
    
        super.onActivityResult(requestCode, resultCode, data);
    }
    

    您希望使用传递到ActivityResult的
    中的意图

    public void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == 1)
        {
            String str = data.getExtras().getString("name");
            TextView t = (TextView) findViewById(R.id.textView1);
            t.setText(str);
        }
        else
        {
        }
    }
    

    您希望使用传递到ActivityResult的
    中的意图

    public void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == 1)
        {
            String str = data.getExtras().getString("name");
            TextView t = (TextView) findViewById(R.id.textView1);
            t.setText(str);
        }
        else
        {
        }
    }
    
    试试这个,不要再调用getIntent()

    尝试此操作,不要再次调用getIntent()。

    潜在问题:

  • 您的第二个活动中不存在editText1。也许它叫别的什么
  • getIntent()不应在其中使用,因为它返回用于启动活动的意图,而不是结果数据。正如goto10所指出的,数据是在onActivityResult中使用的正确意图
  • 潜在问题:

  • 您的第二个活动中不存在editText1。也许它叫别的什么
  • getIntent()不应在其中使用,因为它返回用于启动活动的意图,而不是结果数据。正如goto10所指出的,数据是在onActivityResult中使用的正确意图


  • 你到底有什么问题?你试过什么?我现在看到的只是一个赋值(可能是家庭作业,所以你忘了一个
    家庭作业
    标记)和你发明的0%。你在清单中声明了第二个活动了吗?应用程序意外停止了…这不是例外。使用adb logcat获取异常的堆栈跟踪,您的问题到底是什么?你试过什么?我现在看到的只是一个赋值(可能是家庭作业,所以你忘了一个
    家庭作业
    标记)和你发明的0%。你在清单中声明了第二个活动了吗?应用程序意外停止了…这不是例外。使用adb logcat获取异常的堆栈跟踪请您为两个活动编写代码,我不为您编写代码。请您为两个活动编写代码,我不为您编写代码。我在startActivityForResult(我,活动\u两个\u请求\u代码)上遇到错误;实际上,我没有得到什么是活动二请求代码?它是变量还是字符串?看起来你对Android很陌生。我建议你先看看官方文件,自己试试看。ACTIVITY_TWO_REQUEST_代码是您定义的一个常量非负整数,因此您知道谁请求结果。是的,我对android非常陌生。我将声明一个字符串ACTIVITY\u TWO\u REQUEST\u代码,然后我就可以使用它了?是的,它应该由您定义。请看这里:不,不是字符串,而是int,值应该是非负的。在大多数情况下,您可以简单地将其设为0。我在startActivityForResult(I,ACTIVITY\u TWO\u REQUEST\u CODE)上收到一个错误;实际上,我没有得到什么是活动二请求代码?它是变量还是字符串?看起来你对Android很陌生。我建议你先看看官方文件,自己试试看。ACTIVITY_TWO_REQUEST_代码是您定义的一个常量非负整数,因此您知道谁请求结果。是的,我对android非常陌生。我将声明一个字符串ACTIVITY\u TWO\u REQUEST\u代码,然后我就可以使用它了?是的,它应该由您定义。请看这里:不,不是字符串,而是int,值应该是非负的。在大多数情况下,您可以简单地将其设为0。