添加一个新的activity并传递数据
来源:互联网 发布:淘宝一件代发 编辑:程序博客网 时间:2024/05/21 06:57
功能展示:
第一步:新建一个继承Activity的类,如:ShowActivity
package com.example.hello;import android.app.Activity;import android.os.Bundle;import android.widget.TextView;public class ShowActivity extends Activity { private String name; private int age;private TextView tvshow;protected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_show);getdata();initview();binddata();}private void binddata() {// TODO Auto-generated method stubtvshow.setText("你好"+name+"年龄是"+age);}private void initview() {// TODO Auto-generated method stubtvshow= (TextView) findViewById(R.id.tvshow);}private void getdata() {// TODO Auto-generated method stub/*Bundle bundle= getIntent().getExtras(); name= bundle.getString("name"); age=bundle.getInt("age");*/name = getIntent().getStringExtra("name");age= getIntent().getIntExtra("age", 12);}}//这里可以使用setContentView(R.layout.xxx)显示某个视图....
}
}
第二步:需要在功能清单AndroidManifest.xml文件中添加进上面Activity配置代码
<activity android:name="com.example.hello.ShowActivity" android:label="@string/title_activity_show" > </activity>android:name属性值的前面加了一个点表示ShowActivity是当前包cn.edu.bzu.activity下的类,如果类在应用
的当前包下,可以省略点符号,如果类在应用的子包下必须加点,如:ShowActivity类在
cn.edu.bzu.activity.user包下可以这样写:<activity android:name=“.user.ShowActivity“ />
第三步为intent添加数据
public void sayhello(View view) { String name =et.getText().toString(); Intent intent = new Intent();intent.setClass(this, ShowActivity.class);/*Bundle bundle = new Bundle();bundle.putString("name", name);bundle.putInt("age", 16);intent.putExtras(bundle);*/intent.putExtra("name", name);intent.putExtra("age", 12);startActivity(intent); }
第一种写法,用于批量添加数据到Intent:
Intent intent = new Intent();
Bundle bundle = new Bundle();//该类用作携带数据
bundle.putString(“name”, “张三");
intent.putExtras(bundle);//为意图追加额外的数据,意图原来已经具有的数据不会丢失,但key同名的数据会被替换
第二种写法:这种写法的作用等价于上面的写法,只不过这种写法是把数据一个个地添加进Intent,这
种写法使用起来比较方便,而且只需要编写少量的代码。
Intent intent = new Intent();
intent.putExtra(“name”, “赵旭");
Intent提供了各种常用类型重载后的putExtra()方法,如: putExtra(String name, String value)、
putExtra(String name, long value),在putExtra()方法内部会判断当前Intent对象内部是否已经存在一个
Bundle对象,如果不存在就会新建Bundle对象,以后调用putExtra()方法传入的值都会存放于该Bundle
对象,下面是Intent的putExtra(String name, String value)方法代码片断:
public class Intent implements Parcelable {
private Bundle mExtras;
public Intent putExtra(String name, String value) {
if (mExtras == null) {
mExtras = new Bundle();
}
mExtras.putString(name, value);
return this;
}
第四步 传递数据
第二种:打开新的Activity,并传递若干个参数给它:
public class HelloActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
btnClick.setOnClickListener(new View.OnClickListener(){//点击该按钮会打开一个新的Activity
public void onClick(View v) {
Intent intent = new Intent(HelloActivity.this, ShowActivity.class)
Bundle bundle = new Bundle();//该类用作携带数据
bundle.putString(“name”, “张三");
bundle.putInt("age", 24);
intent.putExtras(bundle);//附带上额外的数据
startActivity(intent);
}}); }
}
在新的Activity中接收前面Activity传递过来的参数:
public class ShowActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
Bundle bundle = this.getIntent().getExtras();
String name = bundle.getString("name");
int age = bundle.getInt("age");
- 添加一个新的activity并传递数据
- 添加Activity并传递数据
- Android启动一个新的activity并携带数据,返回数据给上一个activity
- 添加一个Activity的要点及多个Activity之间数据的传递
- 传递一个intent来传递参数,并以新启动的activity做为tab页的内容,这个应该是比较方便传递参数的
- Android开发笔记---如何添加一个新的activity并实现一个activity到另一个activity的转换以及关闭自身
- 父activity启动子activity并传递数据
- 一个Activity给另一个Activity传递数据
- mybatis实现新添加一条数据,并获取新添加数据的ID
- Android深入探究笔记之二 -- 打开一个新的 Activity 并传递参数与如何响应控件的点击事件
- Android深入探究笔记之二 -- 打开一个新的 Activity 并传递参数与如何响应控件的点击事件 .
- Android 添加新的Activity
- android基础--为应用添加新的Activity与参数传递
- 安卓-----打开新的Activity,并传递若干个参数给它
- 打开一个新的activity并关闭当前activity,以及intent的用法
- 一个activity启动另一个activity并传递参数
- 用Intent启动Activity,并在Activity之间传递数据
- Activity之间的数据传递
- iOS-正则表达式的使用
- [原创]Choose a destination with a supported architecture in order to run on this device.
- Mysql索引与优化
- [ActiveX]C++的ActiveX网页控件开发[转]
- [activeX]VC2005开发MFC ActiveX ocx控件全过程[转]
- 添加一个新的activity并传递数据
- [activeX]使用ATL开发ActiveX控件[转]
- [ios]presentModalViewController和dismissModalViewControllerAnimated汇总
- [ios]CGContext 函数说明
- Python Django App开发相关
- [windows]使用 VC6.0 生成& 调用 DLL
- 【转载】c语言枚举类型详解
- 【原】基于vc 6.0开发dll动态链接库和测试实例--串口操作
- 任意角度的矩形与圆形的碰撞检测