概述:

本博文实现一种小程序,两个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应用不是主入口的每个屏幕(所有不是主屏幕的屏幕)都应提供导航,以便用户在应用栏中点按“向上”按钮后可以返回应用层次结构中的逻辑父屏幕。

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

3编写逻辑代码

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

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

最终效果截图

最新文章

  1. Android Studio快捷键switch case 轻松转换为if else
  2. linux指令学习笔记(一)
  3. java多线程-信号量
  4. android 和iOS的view上的区别
  5. redis 不能持久化问题 MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk.
  6. c++虚函数,纯虚函数,抽象类,覆盖,重载,隐藏
  7. 信息安全系统设计基础_exp3
  8. 存在使i &gt; j || i &lt;= j不成立的数吗?
  9. mesos概述
  10. 5个Xcode开发调试技巧
  11. 使用百度zrender, demo抛砖引玉.
  12. 多目标遗传算法 ------ NSGA-II (部分源码解析) 拥挤距离计算 crowddist.c
  13. Windows系统环境下一个Apache运行多个PHP版本
  14. activity入门
  15. DEAMONTOOLS: installation
  16. attr设置checked,disabled等属性失效的问题,jquery的attr和prop的区别
  17. Windows下安装MySQL8
  18. poj 3067 Japan 【树状数组】
  19. leetcode-algorithms 目录
  20. Android back键及backWebview模式跳转详解

热门文章

  1. 【线段树】【CF1083C】 Max Mex
  2. FPGA/SOPC学习转载
  3. Python 爬虫入门(一)
  4. An internal error occurred during: &quot;Initializing Java Tooling&quot;. Eclipse启动发生的错误及解决办法
  5. apt代理设置
  6. python学习(22) 访问数据库
  7. matlab绘制实用日历实例代码
  8. 【Asp.net入门09】第一个ASP.NET 应用程序-处理窗体(1)
  9. JavaScript中数组迭代方法
  10. tomcat 性能检测