`
bcyy
  • 浏览: 1818707 次
文章分类
社区版块
存档分类
最新评论

2013年3月12日----Activity间传递数据

 
阅读更多

不同Activity之间的数据传递

若要在额外调用另一个Activity的同时传递数据,那么就需要利用Android.os.Bundle对象封装数据的能力,将所需要传递的数据或参数通过Bundle来传递不同Intent之间的数据。而数据回传则需要重写onActivityResult()方法。下面来看实例:

package com.example.test01;

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

public class MainActivity extends Activity {

	TextView textView01;
	Button button01;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		textView01 = (TextView)findViewById(R.id.textView01);
		button01 = (Button)findViewById(R.id.button01);
		
		button01.setOnClickListener(new View.OnClickListener()
		{
			public void onClick(View v) 
			{
				Intent intent = new Intent(getApplicationContext(), activity2.class);
				Bundle bundle = new Bundle();
				bundle.putBoolean("sex", true);
				intent.putExtras(bundle);
				startActivityForResult(intent, 0);
				
			}
		});
		
	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		
		switch (resultCode) {
			case RESULT_OK:
				Bundle bundle = data.getExtras();
				boolean sex = bundle.getBoolean("sex");
				textView01.setText(sex + "");
				break;
		}
		
	}
	
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}


package com.example.test01;

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;

public class activity2 extends Activity
{
	Button button;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		button = (Button)findViewById(R.id.button01);
		
		button.setOnClickListener(new OnClickListener()
		{
			public void onClick(View v) 
			{
				Intent intent = getIntent();
				Bundle bundle = intent.getExtras();
				
				String sx = "女性";
				
				button.setText(sx + "");
				boolean sex = bundle.getBoolean("sex");
				if (sex) sx = "男性";
				button.setText(sx + "");
				
				setResult(RESULT_OK , intent);
				finish();
			}
		});
		
	}
}



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics