send_main.xml:
receive_main.xml:
strings.xml:
Intent操作
发送Intent的Activity程序。
接收Intent的Activity程序。
AndroidManifest.xml:
Send.java:
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;
import android.widget.TextView;
public class Send extends Activity {
private Button mybut = null ;// 按钮组件
private TextView msg = null ;// 文本组件
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.send_main);// 默认布局管理器
this.mybut = (Button) super.findViewById(R.id.mybut) ;// 取得组件
this.msg = (TextView) super.findViewById(R.id.msg) ;// 取得组件
this.mybut.setOnClickListener(new OnClickListenerImpl());// 定义单击事件
}
private class OnClickListenerImpl implements OnClickListener {
@Override
public void onClick(View view) {
Intent it = new Intent(Send.this, Receive.class);// 实例化Intent
it.putExtra("myinfo", "我的发送信息测试") ;// 设置附加信息
Send.this.startActivityForResult(it, 1);// 启动Activity
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (resultCode) {// 判断操作类型
case RESULT_OK:// 成功操作
msg.setText("返回的内容是:" + data.getStringExtra("retmsg"));
break;
case RESULT_CANCELED:// 取消操作
msg.setText("操作取消。");
break ;
default:
break;
}
}
}
Receive.java:
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;
import android.widget.TextView;
public class Receive extends Activity {
private TextView show = null ;// 文本显示组件
private Button retbut = null ;// 按钮组件
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.receive_main);// 调用默认布局管理器
this.show = (TextView) super.findViewById(R.id.show) ;// 取得组件
this.retbut = (Button) super.findViewById(R.id.retbut) ;// 取得组件
Intent it = super.getIntent() ;// 取得启动此程序的Intent
String info = it.getStringExtra("myinfo") ;// 取得设置的附加信息
this.show.setText(info) ;// 设置文本显示信息
this.retbut.setOnClickListener(new OnClickListenerImpl()) ;// 设置监听
}
private class OnClickListenerImpl implements OnClickListener {
@Override
public void onClick(View view) {
Receive.this.getIntent().putExtra("retmsg", "我的返回信息测试") ;// 返回信息
// 设置返回数据的状态,RESULT_OK与Send.java中的onActivityResult()里判断的对应
Receive.this.setResult(RESULT_OK, Receive.this.getIntent()) ;
Receive.this.finish() ;// 结束Intent
}
}
}