使用Intent向Activity传递参数

在前面 向应用添加一个新的Activity 里,我们使用 intent 从一个 Activity 跳转到另一个 Activity。其实 intent 在跳转的同时,还可以向目标 Activity 传递参数,这里我们还是以实际例子来说明怎么操作。云鼎娱乐城

MainActivity :

01 private Button button;
02  
03 @Override
04 protected void onCreate(Bundle savedInstanceState) {
05     super.onCreate(savedInstanceState);
06     setContentView(R.layout.activity_main);
07      
08     button = (Button)findViewById(R.id.btn1);
09     button.setOnClickListener(new ButtonListener());
10 }
11  
12 class ButtonListener implements OnClickListener{
13  
14     @Override
15     public void onClick(View v) {
16         // TODO Auto-generated method stub
17         if( v.getId() == R.id.btn1){
18             Intent intent = new Intent();
19             intent.setClass(MainActivity.this, PaintingActivity.class);
20             intent.putExtra("net.nowamagic.nm_painting_v7.Sitemane","nowamagic.net");
21             intent.putExtra("net.nowamagic.nm_painting_v7.Years""4");
22             startActivity(intent);
23         }
24     }
25      
26 }

在 MainActivity 里,我们向 PaintingActivity 传递了两个参数,一个是字符串 nowamagic.net,一个是整数 4. 那么 PaintingActivity 怎么接收这个参数呢?

PaintingActivity :

01 private TextView ptv;
02  
03 @Override
04 protected void onCreate(Bundle savedInstanceState) {
05     // TODO Auto-generated method stub
06     super.onCreate(savedInstanceState);
07     setContentView(R.layout.painting);
08      
09     ptv = (TextView)findViewById(R.id.ptv);
10      
11     Intent intent = getIntent();
12     String str = intent.getStringExtra("net.nowamagic.nm_painting_v7.Sitemane");
13     int years = intent.getIntExtra("net.nowamagic.nm_painting_v7.Years",4);
14      
15     ptv.setText("Website " + str + " is " + years + " years old.");
16 }

对于不同的数据,需要用不同的函数来接收参数。比如整型用 getIntExtra,字符串用 getStringExtra,这个看看开发文档就清楚了。

程序演示效果如下:

时间: 2024-10-16 03:57:45

使用Intent向Activity传递参数的相关文章

Activity间用Intent和Bundle传递参数

传递方: //点击btn_sub传递 fieldHeight.getText()和 fieldWeight.getText() private void setListeners()    {     btn_sub.setOnClickListener(calrBMI);     }    private OnClickListener calrBMI = new OnClickListener()    {     public void onClick(View v)     { Inte

Activity传递参数——传递自定义数据类型

一.新建一个空的工程 二.在主界面中添加一个按钮 三.新建一个空的activity,并命名为TheAty 四.新建一个user类 //注意这里要实现Serializable,不然在传递参数时会出错 public class User implements Serializable{ private String name; private int age; public String getName() { return name; } public void setName(String na

Activity传递参数到Fragment

今天下午纠结了一天,如何把参数传递到Fragment,其实网上很多资料, getActivity().getIntent().getStringExtra(getString(R.string.bloger)); 大多是上面的方法.由于我的实际情况比较特殊,导致不能直接用上面的方法. 我的Fragment attach的Activity的启动方式为singleTask,也就是说,从其他activity跳转到该activity是不会重新实例化,通过getIntent()方法也不能获取到传递过来的参

Activity传递参数

1.activity之间可以通过intent传递参数.具体方式如下首先声明Intent intent = new Intetn(); 然后通过 意图跳转到另一个activity 之后需要用到方法 intent.putExtra(键,值);此方法和map集合一样是通过键值对 来存储数据 startActivity(intent); 另外一个 activity 在oncreat()方法首先要获得intent Bundle bundle = getIntent().getExtras(); Strin

启动activity传递参数的另外一种工具类

public class IntentUtil { public static void start_activity(Activity activity,Class<?> cls,<span style="color:#ff6666;">BasicNameValuePair</span>...name) { Intent intent=new Intent(); intent.setClass(activity,cls); for(int i=0;

Activity传递参数——传递复杂数据(Bunble包)

一.新建一个空的工程 二.在主界面中添加一个按钮 三.新建一个空的activity,并命名为TheAty 四.修改MainActivity.java中的onCreate函数 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btnStartAty).set

Android使用Intent让不同Activity切换,并传递参数

基本用法: 显式 Intent intent=new Intent(Activity甲.this,Activity乙.class); startActivity(intent); 传递参数 Intent intent=new Intent(Activity甲.this,Activity乙.class); intent.putExtra("参数名","要传的价值,可以是任何类型"); startActivity(intent); 获取参数 在目标Activity中 I

Android开发系列(十三):Intent实现Activity之间的转换以及startActivityForResult传递参数

一.Intent实现Activity之间的切换 1.构造函数法: Intent intent = new Intent(this , OtherActivity.class); //两个参数:第一个是上下文对象,第二个是要切换的Activity的class字节码 startActivity(intent); 2.setClass方法: Intent intent = new Intent(); intent.setClass(this, OtherActivity.class); //设置要激活

Intent 在Activity之间传递参数 制作两个数的乘积

首先取得text中的值 首先定义两个Editext 获取这两个控件 one=(editText)findViewBYId(R.id.editText1); two=(editText)findViewBYid(R.id.editText2); //定义两个变量 onestr  twostr 从edittext里面取出值来分别放到 onestr 和 twostr中 String onestr= one.getText().toString(); String twostr=one.getText(