Activity带传参与返回码

为更好地从Activity跳转,并且带数据传递和关闭Activity,加上请求码与返回码得到数据。请看详细下面的例子。

让我们看一下原代码。虽然,只有代码,大家肯定看效果的。

package com.smart.activity;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

public class Main extends Activity {
	private static final String TAG = "Main";

	// ANDROID系统,组件与组件之间是通过,INTENT进行通信的。
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Button button = (Button) this.findViewById(R.id.button);
		button.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				Intent intent = new Intent(Main.this, SmartActivity.class);
				// 打开应用的组件
				intent.putExtra("id", 988);
				intent.putExtra("name", "老梁");

				// Main.this.startActivity(intent); //这里请求码
				Main.this.startActivityForResult(intent, 3);
			}
		});
	}

	// 从第二个ACTIVITY返回的数据
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		Log.i(TAG, "requestCode=" + requestCode + ",resultCode=" + resultCode);
		if (resultCode == 2) {
			data.getStringExtra("result");
			Log.i(TAG, "result=" + data.getStringExtra("result"));
		}
		super.onActivityResult(requestCode, resultCode, data);
	}
}
package com.smart.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class SmartActivity extends Activity {

	private TextView resultView;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// 关于这行代码,是完成界面的代码
		super.onCreate(savedInstanceState);

		setContentView(R.layout.smart);
		resultView = (TextView) this.findViewById(R.id.result);

		Intent intent = this.getIntent();
		// 得到数据
		int id = intent.getIntExtra("id", 0);
		String name = intent.getStringExtra("name");

		resultView.setText("得到的参数为:--->id为:" + id + ", name为:" + name);
		Button button = (Button) this.findViewById(R.id.finish);
		button.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				Intent intent1 = new Intent();
				// 进行关闭
				intent1.putExtra("result", "smart——android学习过程");
				//这里返回码
				SmartActivity.this.setResult(12,intent1);
				SmartActivity.this.finish();
			}
		});

	}

}

posted on 2011-02-09 21:01  llb988  阅读(198)  评论(0编辑  收藏  举报

导航