这篇文章主要介绍了android studio组件通信:Intend启动Activity接收返回结果,设计一个主Activity和一个子Activity(Sub-Activity),使用主Activity上的按钮启动子Activity,并将子Activity的一些信息返回给主Activity,并显示在主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();
}
});
}
}
到此这篇关于android studio组件通信:Intend启动Activity接收返回结果的文章就介绍到这了,更多相关Intend启动Activity接收返回结果内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:android studio组件通信:Intend启动Activity接收返回结果


- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- iOS 对当前webView进行截屏的方法 2023-03-01
- Android studio实现动态背景页面 2023-05-23
- Android实现轮询的三种方式 2023-02-17
- Android实现监听音量的变化 2023-03-30
- Flutter实现底部和顶部导航栏 2022-08-31
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- 详解flutter engine 那些没被释放的东西 2022-12-04
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14