android intent的应用

来源:互联网 发布:mac不能恢复单一分区 编辑:程序博客网 时间:2024/06/05 03:07

package com.zhuguangwei;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;publicclass FirstActivity extends Activity {private Button myButton;/** Called when the activity is first created. */@Overridepublicvoid onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);myButton = (Button) findViewById(R.id.myButton);myButton.setOnClickListener(new OnClickListener() {@Overridepublicvoid onClick(View v) {// TODO Auto-generated method stubIntent intent=new Intent();//Intent传递参数intent.putExtra("testIntent","123");intent.setClass(FirstActivity.this, SecondActivity.class);FirstActivity.this.startActivity(intent);}});}}package com.zhuguangwei;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;publicclass SecondActivity extends Activity{private TextView myTextView;@Overrideprotectedvoid onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.other);//使用Intent对象得到FirstActivity传递来的参数Intent intent= getIntent();String value = intent.getStringExtra("testIntent");myTextView = (TextView) findViewById(R.id.myTextView);myTextView.setText(value);}}

另外如果要传递int型或其他型参数的话就用bundle


如何利用intent来传递int数据

在android系统中的intent对象是不支持直接传递int数据类型的,那么解决这类问题有两种方法:

一是通过数据类型转换,不过在有些特殊的情况下这种方法并不适用;

二是通过bundle这个对象来封装数据进行传递,例如

发送端:

 Bundle bundle = new Bundle();  
 bundle.putInt("deptname", 3); 
 intent.putExtras(bundle);  

接收端:

Bundle bundle=this.getIntent().getExtras();

这样就可以解决问题。


0 0
原创粉丝点击