当前位置:主页 > 移动开发 > Android代码 >

android studio组件通信:Intend启动Activity接收返回结果

时间:2022-05-03 10:56:49 | 栏目:Android代码 | 点击:

实验目的:

熟悉和掌握Android组件间通信的方式和技巧。

实验要求:

1.运行课本的示例程序,理解组件通信的方式和过程
2.设计一个主Activity和一个子Activity(Sub-Activity),使用主Activity上的按钮启动子Activity,并将子Activity的一些信息返回给主Activity,并显示在主Activity上。

可以自己设计界面和场景,也可以使用下面提供的内容:

主Activity界面上有一个“登录”按钮和一个用了显示信息的TextView,点击“登录”按钮后打开一个新的Activity,新Activity上面有输入用户名的控件,在用户关闭这个Activity后,将用户输入的用户名到主Activity,并显示在主Activity的TextView中。

实验结果:

实验代码:

MainActivity.java

package com.example.shiyan4;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    int Subact1=1;
    TextView textView;
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==Subact1)
        {
            //String str= data.getStringExtra("userstr");

            textView.setText("用户名:"+data.getCharSequenceExtra("userstr"));
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button=(Button) findViewById(R.id.button);
        textView=findViewById(R.id.textview);
        button.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View view) {
                Intent intent=new Intent(MainActivity.this,Subactivity.class);//显式启动方式
                //Intent intent1=new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.baidu.com"));
                Intent intent2=new Intent("sub1");//隐式启动方式
                startActivityForResult(intent2,Subact1);
            }
        });


    }
}

SubActivity.java

package com.example.shiyan4;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

public class Subactivity extends AppCompatActivity {


    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sub_layout);
        Button button=(Button) findViewById(R.id.button2);
        EditText editText=(EditText)findViewById(R.id.editview);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent(Subactivity.this,MainActivity.class);
                intent.putExtra("userstr",editText.getText());
                setResult(RESULT_OK,intent);
                finish();
            }
        });

    }
}

您可能感兴趣的文章:

相关文章