[Android5 系列—] 2. 开始另外一个活动
前言
承接上一篇,
接下来介绍点击 Send 按钮后的操作。
响应发送按钮
1. res/layout 目录下。打开 activity_my.xml
2. 在<Button> 元素里面,添加属性 android:onClick
res/layout/activity_my.xml
<Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/button_send"android:onClick="sendMessage" />
sendMessage - 这是点击按钮时触发的方法名。
3. 在com.oscar999.helloworld 包下, 打开MainActivity.java 文件(这是我的本地java 包及类名)
在这个类中,添加 sendMessage() 方法, 类似:
/** Called when the user clicks the Send button */
public void sendMessage(View view) {// Do something in response to button
}
这个方法的定义要求如下:
- 必须是 public 的
- void 的返回值
- View 作为其唯一的参数
构建一个意图(Intent)
Intent 是一个提供两个独立组件运行时组合(类似两个 activities)。
1. sendMessage 方法内容添加如下:
public void sendMessage(View view) {Intent intent = new Intent(this, DisplayMessageActivity.class);
}
导入Intent 类
import android.content.Intent;
2. 取得EditText 输入的内容, 放入intent 的 extra 中
public void sendMessage(View view) {Intent intent = new Intent(this, DisplayMessageActivity.class);EditText editText = (EditText) findViewById(R.id.edit_message);String message = editText.getText().toString();intent.putExtra(EXTRA_MESSAGE, message);
}
Intent 可以通过键值对的方式传递值。
3. 在 java 中 添加 EXTRA_MESSAGE 的定义
public class MainActivity extends Activity {public final static String EXTRA_MESSAGE = "com.oscar999.helloworld.MESSAGE";
4. 在 sendMessage()方法中, 呼叫 startActivity() 方法。传递 Intent 参数
完整代码如下:
public void sendMessage(View view) {Intent intent = new Intent(this, DisplayMessageActivity.class);EditText editText = (EditText) findViewById(R.id.edit_message);String message = editText.getText().toString();intent.putExtra(EXTRA_MESSAGE, message);startActivity(intent);
}
这里基本上就完成了呼叫一个 activity 的方法。接下来就要完成上面提到的 DisplayMessageActivity 的Activity.
创建第二活动(activity)
所有的Activity 的子类都必须继承 onCreate() 方法。 这个方法就是活动接收含有message 的intent, 然后呈现这个message. onCreate()方法必须使用 setContentView()方法定义活动布局。这也是活动开始设置活动组件的地方。
创建步骤:
1. New --> Android --> Android Activity
2. 选择Blank Activity, 进入如下页面
3. 以上部分输入:
Activity Name: DisplayMessageActivity
Layout Name: activity_display_message
Tiltle: My Message
Hierarchical Parent: com.oscar999.helloworld.MainActivity
点击完成
4. 打开 DisplayMessageActivity.java
这个文件有三个方法
onCreate() -- 这里会更新的方法
onOptionsItemsSelected() -> 处理操作栏向上行为的
onCreateOptionsMenu() -> 暂时用不到, 移除
5. 以上创建activity 的动作,除了新增Java 文件外, 还修改了:
strings.xml
AndroidManifest.xml
,
这里和Android 4 产生的稍微有一些差异(路径)
修改 onCreate() 方法, 让这个activity 显示的是从 MainActivity 传过来的Message , 修改后的代码如下:
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Intent intent = getIntent();String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);TextView textView = new TextView(this);textView.setTextSize(40);textView.setText(message);setContentView(textView);/*if (savedInstanceState == null) {getFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit();}*/}
运行效果看看 ~~
[Android5 系列—] 2. 开始另外一个活动相关推荐
- [Android系列—] 3. 启动另外的活动(Activity)
前言 [Android系列-] 2. Android 项目目录结构与用户界面的创建 在上一篇中,在一个活动中(activity)中显示了一个输入框和一个按钮.这一篇讲接着上一篇继续介绍如何在点击 Se ...
- SAP PM 入门系列12 - IW32 下达一个维护订单
SAP PM 入门系列12 - IW32 下达一个维护订单 在SAP系统里执行事务代码IW32, 输入维护订单号100316968, 回车,进入维护订单的修改界面, 点击左上角下达按钮 , 然后保存, ...
- Android怎么设置主活动,如何从另一个活动启动Android AppWidget的配置活动?
这让我发疯了.我开发了一个App-widget.一切都很好. 我有一个配置活动,每次在主屏幕上添加一个小部件并且工作得很漂亮时启动.我保存每个小部件ID的用户设置等. 窗口小部件有一些按钮,其中一个按 ...
- 返回数据给上一个活动
既然可以传递数据给下一个活动,那么能不能够返回数据给上一个活动呢?答案是肯定的.不过不同的是,返回上一个活动只需要按一下Back键就可以了,并没有一个用于启动活动的Intent来传递数据.通过查阅文档 ...
- 使用显式Intent向下一个活动传递数据
在启动活动时传递数据的思路很简单,Intent提供了一系列putExtra()方法的重载,可以把我们想要传递的数据暂存在Intent中,启动了另一个活动后,只需要把这些数据再从Intent中取出取出就 ...
- android如何导入活动,关于android:如何将活动值传递给另一个活动(Kotlin)
我是Kotlin的新手,我正在尝试为我的应用进行设置活动,我希望该活动将其价值传递给其他活动. 我尝试了不同的代码,但没有一个起作用,我尝试制作一个共享的首选项文件,但我不知道如何编写代码 要清楚,我 ...
- android intent参数是上次的结果,【Android】7.0 Intent向下一个活动传递数据、返回数据给上一个活动...
1.0 可以利用Intent吧数据传递给上一个活动,新建一个叫"hellotest01"的项目. 新建活动FirstActivity,勾选"Generate Layout ...
- android从一个活动到另一个活动,Android应用程序在将一个活动打开到另一个活动时崩溃...
我正在开发Android应用程序,在我的应用程序中,我想通过单击UHFMenuActivity中的布局来打开UHFMainActivity,但应用程序正在崩溃.当我使用另一个活动而不是UHFMenuA ...
- java怎么返回上一部,如何返回数据给上一个活动
返回上一个活动只需要按以下Back键就可以了,并且使用startActivityForResult(),这个方法也是用于启动活动的,而且会返回一个结果给上一个活动. startActivityForR ...
最新文章
- Spring 官方发起Spring Authorization Server 项目
- php汽车找车位,车停在哪最省心?小编奉上找车位小指南
- [转] 新入社員の自己紹介
- webwork2.2.4+spring配制方式总结
- matlab画图模糊,[转载]matlab中模糊工具箱的使用
- Eclipse 各版本版本号代号对应一览表
- faster rcnn训练过程讲解
- 源码分享,送你一份Google Python class源码
- python保存mat文件_python读取文件——python读取和保存mat文件
- 自己不能跑的车凭什么叫自行车?华为天才少年打造无人驾驶「自行车」
- Android入门基础教程(小白速成1)
- 朋友圈刷屏了,Clubhouse为什么这么火?
- 电磁场知识回顾——求解方法汇总
- smali语言程序流程控制语法
- IRPT_TAS用户协议
- win 2008 R2远程桌面授权
- SparkStreaming 实现广告计费系统中在线黑名单过滤实战
- 求生之路2服务器搭建指南个人存档
- Transformer课程 业务对话机器人Rasa 3.x 运行命令学习
- ceph kernel rbd (一): 简介