原创内容,转载请注明出处
Activity是Android的四大控件之一,它是直接和用户打交道的界面,既然作为界面,那么界面和界面之间将会有一定的通讯,通讯则代表数据的传输。Activity之间的跳转通过Intent类完成,Intent类在跳转过程中还可携带数据。
修改activity_main.xml布局文件,添加一个文本框和发送按钮,点击发送按钮时,会将文本框的信息传到FirstActivity,并完成跳转。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.cygoat.myapp.MainActivity" > <EditText android:id="@+id/message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="@string/hello_world" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/send_button" android:onClick="sendMessage"/> </LinearLayout>
修改MainActivity.java,添加sendMessage(View)方法,当发送按钮点击时,会调用该方法。该方法会将文本框的消息保存到Intent对象中,并通过Intent实例跳转。代码如下
package com.cygoat.myapp; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.EditText; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public void sendMessage(View view){ Intent intent = new Intent(this,FirstActivity.class); EditText text = (EditText) findViewById(R.id.message); intent.putExtra("message", text.getText().toString()); startActivity(intent); } }
创建activity_first.xml布局,用来展示接收的消息,内容如下
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.cygoat.myapp.FirstActivity" > <TextView android:id="@+id/result" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout>
创建FirstActivity.java类,该类接收消息并展示。代码如下
package com.cygoat.myapp; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; public class FirstActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_first); Intent intent = getIntent(); String message = intent.getStringExtra("message"); TextView textView = (TextView) findViewById(R.id.result); textView.setText("内容为:"+message); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.first, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
测试如下
源代码如附件
相关推荐
例如,当需要从一个Activity跳转到另一个Activity时,我们可以创建一个Intent,设置目标Activity的类名,然后调用`startActivity()`方法。如果需要传递数据,可以在Intent中添加额外的数据,如键值对,通过`putExtra...
这个压缩包文件“安卓Android源码——(Activity跳转与操作).zip”显然专注于讲解如何在Android系统中进行Activity的跳转和操作。以下是关于这个主题的详细知识点: 一、Activity生命周期 1. Activity有七个关键状态...
本文将深入探讨Android源码中的Activity跳转与操作,这对于我们理解和优化应用性能至关重要。 首先,Activity的启动过程涉及到Intent的创建与传递。Intent在Android中起到了消息传递的作用,它用于在组件之间传递...
Android学习笔记(四)Android 中Activity页面的跳转及传值 Android学习笔记(五)——Toast提示、Dialog对话框、Menu菜单 Android学习笔记(六)——自定义ListView布局+AsyncTask异步任务 Android学习笔记(七)...
本项目"猴子摘桃"是一个简单的小程序,旨在帮助开发者学习和理解如何在不同的Activity之间进行数据传递,这是Android开发中的一项重要技能。下面将详细阐述在Android中Activity间数据回传的关键知识点。 1. **...
这篇博客"Android学习之路——4.Activity简介"很可能会详细解释Activity的基本概念、生命周期以及如何在实践中使用它。 Activity作为Android应用程序的一个窗口,它可以显示用户界面,并响应用户的交互。每个...
当我们谈论"动手学Android之二——初识Activity示例代码"时,这通常指的是一个简单的教程,旨在帮助初学者理解如何创建并运行第一个Android应用,从而开始他们的Android开发之旅。 在Android中,Activity是负责显示...
android入门级视频:Android基本组件介绍之Android应用的灵魂——Intent和Activity介绍与实例
Intent是一个意图对象,用于表示从一个Activity跳转到另一个Activity的行为。我们可以设置Intent的ACTION、CATEGORY、DATA等属性,来指定要启动的目标Activity。然后调用startActivity()或startActivityForResult()...
"activity跳转动画效果"是提升用户体验的重要手段之一。 1. **动画类型**:Android提供了两种类型的动画——进入动画(Entrance)和退出动画(Exit),以及共享元素动画(Transition Animation)。进入动画是指...
总结来说,`startActivity(Intent)`适合简单的Activity跳转,无需返回结果;而`startActivityForResult(Intent, int)`则适用于需要从新Activity获取结果的场景。了解并熟练掌握这两种方法,对进行Android应用的界面...
Android学习笔记(四)Android 中Activity页面的跳转及传值 Android学习笔记(五)——Toast提示、Dialog对话框、Menu菜单 Android学习笔记(六)——自定义ListView布局+AsyncTask异步任务 Android学习笔记(七)...
本篇将详细介绍Android 5.0中的Activity跳转动画,特别是共享元素(Shared Element)的动画效果。 一、Activity跳转动画基础 在Android 5.0之前,Activity之间的切换主要依靠`overridePendingTransition()`方法来...
在Android应用中,Intent切换常指的是通过Intent在不同的Activity之间跳转。例如,从一个列表Activity点击一个条目后,可以通过Intent启动详情Activity,传递所需的数据。在这个过程中,Intent起到了消息传递的作用...
2. **XML布局与视图绑定**: Android Studio支持XML布局文件设计界面,并可以通过Data Binding库将数据与UI元素绑定,简化界面操作。在XML中定义按钮等交互元素,通过点击事件触发Intent,实现界面跳转。 3. **...
应用内Activity的跳转方式 一、通过显式意图跳转,如字面意思一样,跳转的目的地是可以明确看到的 二、通过隐式意图跳转,这种方式的跳转需要我们在AndroidManifest.xml文件中为目的Activity配置Action和Category ...
在Android应用开发中,Activity是用户界面的基本单元,它们之间的交互是通过Intent对象来实现的。Intent不仅仅用于启动另一个Activity,还可以启动Service、发送Broadcast消息,甚至触发ContentProvider的操作。理解...
在“动手学Android之八——搞定列表例子程序”中,我们将深入探讨如何在Android应用中创建和使用ListView,以及如何通过适配器(Adapter)将数据源与列表视图关联起来。下面,我们将会详细介绍以下几个关键知识点: 1...
3. 要从一个Activity跳转到另一个Activity,可以使用`Intent`对象。创建一个Intent,并使用`setClass()`或`setComponent()`方法指定目标Activity,然后调用`startActivity()`启动它。例如: ```java Intent intent...