iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >android studio组件通信:Intend启动Activity接收返回结果
  • 201
分享到

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

2024-04-02 19:04:59 201人浏览 八月长安
摘要

实验目的: 熟悉和掌握Android组件间通信的方式和技巧。 实验要求: 1.运行课本的示例程序,理解组件通信的方式和过程2.设计一个主Activity和一个子Activity(Su

实验目的:

熟悉和掌握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();
            }
        });

    }
}

到此这篇关于android studio组件通信:Intend启动Activity接收返回结果的文章就介绍到这了,更多相关Intend启动Activity接收返回结果内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

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

本文链接: https://www.lsjlt.com/news/160334.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作