栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

android studio项目实验:组件通信:Intend启动Activity以及接收返回结果

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

android studio项目实验:组件通信:Intend启动Activity以及接收返回结果

实验四 组件通信 实验目的:

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

    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/397064.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号