博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android studio实现Intent通信-------牛刀小试
阅读量:4684 次
发布时间:2019-06-09

本文共 2472 字,大约阅读时间需要 8 分钟。

概述:

本博文实现一种小程序,两个Activity单向通信,主从关系,MainActivty 页面布局一个EditText+Button,实现逻辑是单击按钮将信息发送给另外一个DisplayMessageActivity,DisplayMessageActivty页面布局有一个TextView内容为EditText传过来的。整个就是这么简单

实现:

1创建空Activty项目,命名为IntentDemo,页面布局

  1.1为了实现单击按钮响应事件,可以有两种方法,第一种是这样的

public static final String tag="TEST";@Override protected void onCreate(Bundle savedInstanceState){     super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);        Button button=(Button)findViewById(R.id.button);    button.setOnClickListener(new OnClickListener(){          @Override           public void onClick(View view)           {                 EditText edittext=(EditText)findViewById(R.id.editText);                 Intent intent=new Intent(this,DisplayMessageActivtiy.class);                 String message=edittext.getText().toString();                 intent.putExtra(tag,message);                 startActivty(intent);            }        });}

 也就是说直接在onCreate函数里面实现了监听按钮的方法

第二种方法是自己实现一个函数,然后与按钮单击事件关联起来

 

这个函数在MainActivtiy.java里面实现如下:

public void sendMessage(View view)    {        Intent intent=new Intent(this,DisplayMessageActivity.class);        EditText edittext=(EditText)findViewById(R.id.editText);        String message=edittext.getText().toString();        intent.putExtra(EXTRA_MESSAGE,message);        startActivity(intent);    }

  可以对比一下,要让系统将此函数视为与 android:onClick 属性兼容,需要这些详细信息。具体来说,函数必须声明以下内容:

  • 公共访问
  • 空返回值
  • View作为唯一参数(它是之前点击的 View对象)

2 创建一个空Activity的Activtiy

我们选择empty activity ,然后系统自动做三件事:

① 创建DisplayMessageActivity.java

② 创建activity_display_message.xml文件

③在AndroidManifest.xml文件的<application>元素下自动添加<activity>子元素,内容如下

手动添加的内容是为了添加向上导航


DisplayMessageActivity应用不是主入口的每个屏幕(所有不是主屏幕的屏幕)都应提供导航,以便用户在应用栏中点按“向上”按钮后可以返回应用层次结构中的逻辑父屏幕。

需要做的全部工作是在 ndroidManifest.xml文件中声明哪个 Activity 是逻辑父项。因此,打开 app > manifests > AndroidManifest.xml 处的文文件,找到 DisplayMessageActivity 的 <activity> 标记。

3编写逻辑代码

在DisplayMessageActivity的onCreate函数中提取处intent的Extra信息,并写入到TextView中

1 @Override 2     protected void onCreate(Bundle savedInstanceState) { 3         super.onCreate(savedInstanceState); 4         setContentView(R.layout.activity_display_message); 5         Intent intent=getIntent(); 6         String message=intent.getStringExtra(MainActivity.EXTRA_MESSAGE); 7         TextView textview=(TextView)findViewById(R.id.textView); 8         textview.setText(message); 9         Log.i(tag,"DisplayMessageActivity:(1)onCreate()");10     }

最终效果截图

 

转载于:https://www.cnblogs.com/gaochaochao/p/8734759.html

你可能感兴趣的文章
maven3在eclipse3.4.2中创建java web项目
查看>>
发布时间 sql语句
查看>>
黑马程序员 ExecuteReader执行查询
查看>>
记一些从数学和程序设计中体会到的思想
查看>>
题目1462:两船载物问题
查看>>
POJ 2378 Tree Cutting(树形DP,水)
查看>>
第二冲刺阶段个人博客5
查看>>
UVA 116 Unidirectional TSP (白书dp)
查看>>
第三方测速工具
查看>>
MySQL 网络访问连接
查看>>
在aws ec2上使用root用户登录
查看>>
数据访问 投票习题
查看>>
CIO知识储备
查看>>
cnblog!i'm coming!
查看>>
使用点符号代替溢出的文本
查看>>
Axios 中文说明
查看>>
fatal: remote origin already exists.
查看>>
gridview 自定义value值
查看>>
svn 的一些资料
查看>>
Json第三方类库Json.Net,声称超过其他Json序列化机制
查看>>