不同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();
}
});
}
}
分享到:
相关推荐
安卓开发-Activity间数据传递和回传
Android-Activity之间数据传递的多种方式. 在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起。它们各有利弊,有各自己的应用场景。
activity间的数据传递
1、创建一个自己的Activity 2、启动activity-显示启动和...3、隐式启动自己的activity 4、获取隐启动传递过来的data数据 5、显示启动传递数据 6、禁用掉横竖屏切换 7、开启activity获取返回值-startActivityForResult:
Android例子源码Activity间的数据传递
pipeline applied to an activity-rich video dataset. In contrast to traditional work on multi-target pedestrian tracking where people are largely assumed to be upright, we use an activity-rich dataset ...
有助于初学的同学理解activity间的数据传递机制,希望大家支持一下
Activity间的数据传递是一个演示Android不同Activity间的数据传递的例子,用到的控件很多EditText TextView SeekBar RadioGroup RadioButton ImageButton Button 都有涉及,属于最初级的例子,适合新手朋友了解学习...
Activity之间的数据传递 简单功能的实现 对新手有所帮助
Activity之间传递数据
3.通过剪贴板(Clipboard)传递数据 4.通过全局对象传递数据 在TransmitDataActivity.java中 package mobile.android.transmit.data; public class TransmitDataActivity extends Activity { @Override ...
activity与activity利用接口相互传递数据,超简单
Activity间数据传递与版本兼容问题
资源包括如何在一个activity A里激活另一个activity B。 然后在两个activity之间用handler传输数据。在activity A里定义全局变量handler,用sendMessage来发数据,在handler里数据以消息队列的方式发送。
Activity review activity之间的数据传递
利用广播Broadcast Receiver,在2个不同的Activity传递数据
Android PopupWindow与Activity之间的数据传递
service传递数据给activity的demo
Android activity间的数据传递,选择头像。Android activity间的数据传递,选择头像。
fragment与activity之间相互通信,一般有两种方法,接口方式和bundle方式