安卓-----打开新的Activity,并传递若干个参数给它
2013-06-14 15:47
183 查看
第一种传递参数:
1、布局文件activity_main.xml文件:
activity_other.xml文件:
2、MainActivity
OtherActivity获取参数的值:
第二种传递参数的方法(就是在MainActivity中存值和OtherActivity中获取值的方法需要改变,其他的不变):
OtherActivity:
记得在项目清单中配置OtherActivity!
1、布局文件activity_main.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=".MainActivity" > <Button android:id="@+id/btn_go" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginTop="169dp" android:onClick="go" android:text="@string/btn_go" /> </RelativeLayout>
activity_other.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=".MainActivity" > <Button android:id="@+id/btn_back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:onClick="back" android:text="@string/btn_back" /> </RelativeLayout>
2、MainActivity
package com.example.lession12_activity; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; 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; } public void go(View v){ //携带数据 Intent intent=new Intent(MainActivity.this, OtherActivity.class); Bundle bundle=new Bundle(); bundle.putString("name", "shuang"); bundle.putString("pass", "123"); //把附加的数据放到意图当中 intent.putExtras(bundle); //执行意图 startActivity(intent); } }
OtherActivity获取参数的值:
package com.example.lession12_activity; import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class OtherActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置显示的视图 setContentView(R.layout.activity_other); //获取数据 Bundle bundle=this.getIntent().getExtras(); Toast.makeText(this, "姓名:"+bundle.get("name")+"密码"+bundle.get("pass"), Toast.LENGTH_LONG).show(); } public void back(View v){ Intent intent=new Intent(); //intent.setClassName("com.example.lession12_activity", "com.example.lession12_activity.MainActivity"); ComponentName component=new ComponentName("com.example.lession12_activity", "com.example.lession12_activity.MainActivity"); intent.setComponent(component); startActivity(intent); } }
第二种传递参数的方法(就是在MainActivity中存值和OtherActivity中获取值的方法需要改变,其他的不变):
package com.example.lession12_activity; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; 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; } public void go(View v){ //创建意图对象 /*Intent intent=new Intent(); intent.setClass(this, OtherActivity.class);*/ //执行意图 //startActivity(intent); //自定义隐士意图 /*Intent intent=new Intent(); //自定义的action intent.setAction("www.csdn.net.hbsi"); intent.addCategory("android.intent.category.DEFAULT"); intent.setDataAndType(Uri.parse("csdn://www.csdn.net/xx"),"image/jpeg"); //执行意图 startActivity(intent);*/ //携带数据 Intent intent=new Intent(MainActivity.this, OtherActivity.class); /*Bundle bundle=new Bundle(); bundle.putString("name", "shuang"); bundle.putString("pass", "123");*/ //把附加的数据放到意图当中 //intent.putExtras(bundle); intent.putExtra("name", "shuang"); intent.putExtra("pass", "123"); //执行意图 startActivity(intent); } }
OtherActivity:
package com.example.lession12_activity; import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class OtherActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置显示的视图 setContentView(R.layout.activity_other); //获取数据 Bundle bundle=this.getIntent().getExtras(); Intent intent=this.getIntent(); Toast.makeText(this, "姓名:"+intent.getStringExtra("name")+"密码:"+intent.getStringExtra("pass"), Toast.LENGTH_LONG).show(); //Toast.makeText(this, "姓名:"+bundle.get("name")+"密码"+bundle.get("pass"), Toast.LENGTH_LONG).show(); } public void back(View v){ Intent intent=new Intent(); //intent.setClassName("com.example.lession12_activity", "com.example.lession12_activity.MainActivity"); ComponentName component=new ComponentName("com.example.lession12_activity", "com.example.lession12_activity.MainActivity"); intent.setComponent(component); startActivity(intent); } }
记得在项目清单中配置OtherActivity!
相关文章推荐
- 初始安卓中的Activity-----打开新的Activity ,不传递参数
- Unity3D研究院之打开Activity与调用JAVA代码传递参数
- Android深入探究笔记之二 -- 打开一个新的 Activity 并传递参数与如何响应控件的点击事件
- Android深入探究笔记之二 -- 打开一个新的 Activity 并传递参数与如何响应控件的点击事件 .
- 安卓开发05:Activity之间链接和传递参数
- Unity3D研究院之打开Activity与调用JAVA代码传递参数
- Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)
- 安卓开发05:Activity之间链接和传递参数
- Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)
- Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)【转】
- Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)
- 打开多个Activity以及多个Activity之间的参数传递
- Unity3D研究院之打开Activity与调用JAVA代码传递参数
- Unity3D研究院之打开Activity与调用JAVA代码传递参数
- Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)
- 安卓入门 使用android创建一个项目 从启动activity中响应按钮事件 启动另一个activity 并传递参数
- 安卓开发05:Activity之间链接和传递参数
- Unity3D研究院之打开Activity与调用JAVA代码传递参数
- Unity3D之打开Activity与调用JAVA代码传递参数
- 安卓学习:(3)安卓启动新的Activity并且传递参数