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. */
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myButton = (Button) findViewById(R.id.myButton);
myButton.setOnClickListener(new OnClickListener() {
@Override
publicvoid onClick(View v) {
// TODO Auto-generated method stub
Intent 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;
@Override
protectedvoid onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.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();
这样就可以解决问题。