onactivityresult 中怎么传到listview中textvieww

Activity之间数据交流(onActivityResult的用法)
编辑:www.fx114.net
本篇文章主要介绍了"Activity之间数据交流(onActivityResult的用法)",主要涉及到Activity之间数据交流(onActivityResult的用法)方面的内容,对于Activity之间数据交流(onActivityResult的用法)感兴趣的同学可以参考一下。
转载:http://blog.csdn.net/sjf0115/article/details/7387467
主要功能:
在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。这样的数据交流就要用到回调函数onActivityResult。
&1&startActivityForResult(Intent&intent,
int requestCode);
第一个参数:一个Intent对象
第二个参数:如果& = 0,当Activity结束时requestCode将归还在onActivityResult()中。以便确定返回的数据是从哪个Activity中返回
&2&onActivityResult(int requestCode, int resultCode,&Intent&data)
第一个参数:这个整数requestCode提供给onActivityResult,是以便确认返回的数据是从哪个Activity返回的。
& & & & & & 这个requestCode和startActivityForResult中的requestCode相对应。
第二个参数:这整数resultCode是由子Activity通过其setResult()方法返回。
第三个参数:一个Intent对象,带有返回的数据。
&3&setResult(int resultCode,&Intent&data)
调用这个方法把Activity想要返回的数据返回到父Activity
第一个参数:当Activity结束时resultCode将归还在onActivityResult()中,一般为RESULT_CANCELED
, RESULT_OK。
第二个参数:一个Intent对象,返回给父Activity的数据。
本实例一共有三个Activity。点击飞往火星跳转到otherActivity,把地球带给火星的消息显示在otherActivity中。点击返回地球时把火星带给地球的消息传到主Activity.
点击飞往月球跳转到thirdActivity,把地球带给月球的消息显示在thirdActivity中。点击返回地球时把月球带给地球的消息传到主Activity.
具体实现:
主Activity:
[java]&view
package&xiaosi.onActivityR
&&&import&android.app.A
&import&android.content.I
&import&android.os.B
&import&android.view.V
&import&android.view.View.OnClickL
&import&android.widget.B
&import&android.widget.TextV
&&&public&class&OnActivityResultActivity&extends&Activity
&{ && &&private&Button&&&&&&&&&&&&&&button&&=&
&& &&private&Button&&&&&&&&&&&&&&button1&=&
&& &&private&TextView&&&&&&&&&&&&text&&&&=&
&& &&private&static&final&int&&&&Mars&&&&=&0;
&& &&private&static&final&int&&&&Moon&&&&=&1;
&&&& &&@Override&&& &&public&void&onCreate(Bundle&savedInstanceState)
&& & { && & & &&super.onCreate(savedInstanceState);
&& & & & setContentView(R.layout.main); && & & & text&=&(TextView)&findViewById(R.id.text); && & & & button&=&(Button)&findViewById(R.id.button); && & & & button.setOnClickListener(new&OnClickListener()&{
&& & & & & &&@Override&&& & & & & &&public&void&onClick(View&v)
&& & & & & & { && & & & & & & & Intent&intent&=&new&Intent(OnActivityResultActivity.this,&otherActivity.class);
&& & & & & & & & String&content&=&&地球来的消息:你好,我是来自地球上的小老鼠。我好想去你们的火星呀&;
&& & & & & & & & intent.putExtra(&FromEarth&,&content);
&& & & & & & & & startActivityForResult(intent,&Mars); && & & & & & } && & & & }); && & & & button1&=&(Button)&findViewById(R.id.button1); && & & & button1.setOnClickListener(new&OnClickListener()&{
&& & & & & &&@Override&&& & & & & &&public&void&onClick(View&v)
&& & & & & & { && & & & & & & & Intent&intent&=&new&Intent(OnActivityResultActivity.this,&thirdActivity.class);
&& & & & & & & & String&content&=&&地球来的消息:你好,我是来自地球上的小老鼠。我好想去你们月球&;
&& & & & & & & & intent.putExtra(&FromEarth&,&content);
&& & & & & & & & startActivityForResult(intent,&Moon); && & & & & & } && & & & }); && & } &&&& &&@Override&&& &&protected&void&onActivityResult(int&requestCode,&int&resultCode,&Intent&data)
&& & { && & & &&switch&(requestCode)
&& & & & { && & & &&case&Mars:
&& & & & & & Bundle&MarsBuddle&=&data.getExtras(); && & & & & & String&MarsMessage&=&MarsBuddle.getString(&FromMars&);
&& & & & & & text.setText(MarsMessage); && & & & & &&
&& & & &&case&Moon:
&& & & & & & Bundle&MoonBuddle&=&data.getExtras(); && & & & & & String&MoonMessage&=&MoonBuddle.getString(&FromMoon&);
&& & & & & & text.setText(MoonMessage); && & & & & &&
&& & & & } && & } &} &
otherActivity:
[java]&view
package&xiaosi.onActivityR
&&&import&android.app.A
&import&android.content.I
&import&android.os.B
&import&android.view.V
&import&android.widget.B
&import&android.widget.TextV
&&&public&class&otherActivity&extends&Activity
&{ && &&private&Button&&button&&=&
&&&& &&@Override&&& &&public&void&onCreate(Bundle&savedInstanceState)
&& & { && & & &&super.onCreate(savedInstanceState);
&& & & & setContentView(R.layout.other); && & & & Intent&EarthIntent&=&getIntent(); && & & & String&EarthMessage&=&EarthIntent.getStringExtra(&FromEarth&);
&& & & & button&=&(Button)&findViewById(R.id.button); && & & & button.setOnClickListener(new&View.OnClickListener()&{
&& & & & & &&@Override&&& & & & & &&public&void&onClick(View&v)
&& & & & & & { && & & & & & & & Intent&intent&=&new&Intent(otherActivity.this,&OnActivityResultActivity.class);
&& & & & & & & & String&passString&=&&火星来的消息:Hello,我是火星的Jack,非常高兴你能来火星&;
&& & & & & & & & intent.putExtra(&FromMars&,&passString);
&& & & & & & & & setResult(RESULT_OK,&intent); && & & & & & & & finish(); && & & & & & } && & & & }); && & & & TextView&textView&=&(TextView)&findViewById(R.id.othertext); && & & & textView.setText(EarthMessage); && & } &} &
thirdActivity:
[java]&view
package&xiaosi.onActivityR
&&&import&android.app.A
&import&android.content.I
&import&android.os.B
&import&android.view.V
&import&android.widget.B
&import&android.widget.TextV
&&&public&class&thirdActivity&extends&Activity
&{ && &&private&Button&&button&&=&
&&&& &&@Override&&& &&public&void&onCreate(Bundle&savedInstanceState)
&& & { && & & &&super.onCreate(savedInstanceState);
&& & & & setContentView(R.layout.third); && & & & Intent&EarthIntent&=&getIntent(); && & & & String&EarthMessage&=&EarthIntent.getStringExtra(&FromEarth&);
&& & & & button&=&(Button)&findViewById(R.id.button); && & & & button.setOnClickListener(new&View.OnClickListener()&{
&& & & & & &&@Override&&& & & & & &&public&void&onClick(View&v)
&& & & & & & { && & & & & & & & Intent&intent&=&new&Intent(thirdActivity.this,&OnActivityResultActivity.class);
&& & & & & & & & String&passString&=&&月球来的消息:Hello,我是月球的Lucy,非常欢迎你来月球&;
&& & & & & & & & intent.putExtra(&FromMoon&,&passString);
&& & & & & & & & setResult(RESULT_OK,&intent); && & & & & & & & finish(); && & & & & & } && & & & }); && & & & TextView&textView&=&(TextView)&findViewById(R.id.thirdtext); && & & & textView.setText(EarthMessage); &
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:举例说我想要做的一个事情是,在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。这个时候就要用到回调函数onActivityResult()。&
现在贴上一个关于onActivityResult的用法的小例子的代码:
onActivityResult.java
主要的Activity,一会会先执行此Activity,然后调用B Activity,并向其发送数据,通过回调函数来获取B传回来的值。
public class onActivityResult extends Activity {
&&&/** Called when the activity is first created. */
&&&@Override
&&&public void onCreate(Bundle savedInstanceState) {
&&&&&&&super.onCreate(savedInstanceState);
&&&&&&&setContentView(R.layout.main);
&&&&&&&StartA();
&&&public void StartA()
&&&&&&&&&Button buttonA = (Button)findViewById(R.id.button1);
&&&&&&&&&buttonA.setOnClickListener(new View.OnClickListener() {
&&&&&&&&&&&&&&&&public void onClick(View v) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&// TODO Auto-generated method stub
//&&&&&&&&&&&&&&&&&&&&&onActivityResult.this.setContentView(R.layout.second);
//&&&&&&&&&&&&&&&&&&&&&onActivityResult.this.StartB();
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Intent intent = new Intent(onActivityResult.this,ClassB.class);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&String passString = &Hello,this is A&;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&intent.putExtra(&ToB&, passString);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&startActivityForResult(intent, 0);
&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&});
&&&protected void onActivityResult(int requestCode, int resultCode, Intent data) {
&&&&&&&&&switch (resultCode) { //resultCode为回传的标记,我在B中回传的是RESULT_OK
&&&&&&&&&&&&&&&&case RESULT_OK:
&&&&&&&&&Bundle b=data.getExtras();&//data为B中回传的Intent
&&&&&&&&&String str=b.getString(&FromB&);//str即为回传的值
&&&&&&&&&TextView view = (TextView)findViewById(R.id.textA);
&&&&&&&&&view.setText(str);
&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&default:
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&}
&&&&&&&&&}
&&&/*public void StartB()
&&&&&&&&&Button buttonB = (Button)findViewById(R.id.button2);
&&&&&&&&&buttonB.setOnClickListener(new View.OnClickListener() {
&&&&&&&&&&&&&&&&public void onClick(View v) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&// TODO Auto-generated method stub
&&&&&&&&&&&&&&&&&&&&&&&onActivityResult.this.setContentView(R.layout.main);
&&&&&&&&&&&&&&&&&&&&&&&onActivityResult.this.StartA();
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&});
----------------------------------------------------------------------------------------------------------------------
ClassB.java
public class ClassB extends Activity{
&&&&&&private I
&&&public void onCreate(Bundle savedInstanceState) {
&&&&&&&super.onCreate(savedInstanceState);
&&&&&&&setContentView(R.layout.second);
&&&&&&&intent = getIntent();
&&&&&&&&&&&&&String result = intent.getStringExtra(&ToB&);
&&&&&&&&&Button button = (Button)findViewById(R.id.button2);
&&&&&&&button.setOnClickListener(new View.OnClickListener() {
&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&@Override
&&&&&&&&&&&&&&&&&&&&public void onClick(View v) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&// TODO Auto-generated method stub
&&&&&&&&&&&&&&&&&&&&&&&&&&&Intent intent = new Intent(ClassB.this,onActivityResult.class);
&&&&&&&&&&&&&&&&&&&&&&&&&&&String passString = &Hello,this is B&;
&&&&&&&&&&&&&&&&&&&&&&&&&&&intent.putExtra(&FromB&, passString);
&&&&&&&&&&&&&&&&&&&&&&&&&&&setResult(RESULT_OK, intent);
&&&&&&&&&&&&&&&&&&&&&&&&&&&finish();
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&});
&&&&&&TextView textView = (TextView)findViewById(R.id.textB);
&&&&&&&textView.setText(result);
本文已收录于以下专栏:
相关文章推荐
**主要功能:**
在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activi...
主要功能:
在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity...
Android进阶2之Activity之间数据交流(onActivityResult的用法)
主要功能:
在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity...
主要功能:
在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity...
【声明】此文转载自:http://blog.csdn.net/jiangwei/article/details/
——尊重作者,知识无价,交流无限!
compileSdkVersion在23以下的应用运行在Android6.0的拍照权限处理[拍照时onActivityResult的data返回为null的处理办法]场景还原我以前开发的一个项目中需要...
此处借鉴http://blog.csdn.net/zd_/article/details/博主的介绍
在一个主界面(主Activity)上能连接往许多不同子功...
对于intent主要的分类主要包括隐式意图和显式意图。显式意图通常主要是启动本应用中的Activity之间的数据,
而隐式意图则常见于启动系统中的某些特定的动作,比如打电话,或者是跨应用的Activ...
如果你想在Activity中得到新打开Activity关闭后返回的数据,你需要使用系统提供的startActivityForResult(Intent
intent,int requestCode...
他的最新文章
讲师:刘文志
讲师:陈伟
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)fragment数据有返回,但是将数据设置到textView中,设置后不显示,开始考虑是否是对象不同,导致设置的textView不属于当前显示的view,后经过调试,发现view都是从新find出来的,不存在这个问题,解决办法是将数据setText的方法推迟到了onResume()方法中,问题解决,但是没找到问题所在
在public void onViewCreated(View view, Bundle savedInstanceState) {}方法中调用
&if (!TextUtils.isEmpty(projectName)) {
&&&et_project_name.setText(projectName);
&&&et_project_name.setTag(projectID);
无效,不改变该值,
在onResume方法中则设置成功
&@Override
&public void onResume() {
&&if (!TextUtils.isEmpty(projectName)) {
&&&et_project_name.setText(projectName);
&&&et_project_name.setTag(projectID);
&&projectName = &&;
&&projectID = &&;
&&super.onResume();
部分代码如下:
/****************第一步****************/
在BaseFragment中:
点击条目跳转到SearchProjectFragment
et_project_name.setOnClickListener(new OnClickListener() {
&&&@Override
&&&public void onClick(View v) {
&&&&SearchProjectFragment fragment = SearchProjectFragment
&&&&&&.newFragment(null);
&&&&fragment.setTargetFragment(BaseAreaUseFragment.this,
&&&&&&getActivity().RESULT_OK);
&&&&openFragment(R.id.flt_fragment, fragment);//该方法是fragment切换的方法
&protected void openFragment(int resId, Fragment fragment) {
&&String tag = fragment.getClass().getSimpleName();
&&&&.getSupportFragmentManager()
&&&&.beginTransaction()
&&&&.setCustomAnimations(android.R.anim.slide_in_left,
&&&&&&android.R.anim.slide_out_right)
&&&&.replace(resId, fragment, tag).addToBackStack(tag).commit();
/************************第二步************************/
点击listView条目跳转,把结果返回到上一个fragment(BaseFragment)
在SearchProjectFragment中:
lvProject.setOnItemClickListener(new OnItemClickListener() {
&&&@Override
&&&public void onItemClick(AdapterView&?& parent, View view,
&&&&&int position, long id) {
&&&&Intent intent = new Intent();
&&&&intent.putExtra(SEARCH_PROJECT_NAME,
&&&&&&mDatas.get(position).get(&名称&));
&&&&intent.putExtra(SEARCH_PROJECT_ID,
&&&&&&mDatas.get(position).get(&信息&));
&&&&setResult(getActivity().RESULT_OK, intent);
&&&&getFragmentManager().popBackStack();
&protected void setResult(int result_OK, Intent intent) {
&&Fragment targetFragment = getTargetFragment();
&&if (targetFragment == null) {
&&getTargetFragment().onActivityResult(getTargetRequestCode(), result_OK,
&&&&intent);
/*******************结束后跳转到该fragment**********************/
在BaseFragment中:
&@Override
&public void onActivityResult(int requestCode, int resultCode, Intent data) {
&&super.onActivityResult(requestCode, resultCode, data);
&&if (getActivity().RESULT_OK == requestCode && data != null) {
&&&projectName = data
&&&&&.getStringExtra(SearchProjectFragment.SEARCH_PROJECT_NAME);
&&&projectID = data
&&&&&.getStringExtra(SearchProjectFragment.SEARCH_PROJECT_ID);// 项目ID
本文已收录于以下专栏:
相关文章推荐
以前都只是在activity中使用startActivityForResult和onActivityResult方法
package com.example.demo_
import android.os.B
import android.support.v4.app.Fragment...
先说fragment之间的跳转吧!我的项目中首先是一个activity,在该活动中添加了一个fragmentA,然后需要从fragmentA跳转到fragmentB,那么我的实现方法如下:// 设置标...
由 Fragment1 跳转到 Fragment2 可以使用下面的方法:/**
* 公共方法: 从碎片fragment1跳转到碎片fragment2
* @para...
1 Activity的生命周期
    activity在生命周期内共有运行,暂停,和停止三种状态。每次发生状态转换时,都有一个Activity方法将状态改变的消息通知给activity。activ...
在Fragment中OnActivityResult方法中接收Activity中返回的值,有需要的朋友可以参考下。
在开发android中,有些人往往很疑惑,当一个FragmentAct...
Fragment也可以使用startActivityForResult方法去打开一个Activity,然后在其onActivityResult方法中处理结果,可是当Fragment嵌套的时候,由于Fr...
在开发android中,有些人往往很疑惑,当一个FragmentActivity中有多个碎片的时候,如a,b,c三个随便,
其中b中进行了操作,跳转到了新的界面D(activity)。但是当D操作完...
关于fragment适用二维码接收返回消息时的OnActivityResult()不能收到返回值的方法。
Fragment也可以使用startActivityForResult方法去打开一个Activity,然后在其onActivityResult方法中处理结果,可是当Fragment嵌套的时候,由于Fr...
他的最新文章
讲师:刘文志
讲师:陈伟
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)博客分类:
有时候在群里加入的新人总会喜欢问一些过去的问题
有时候不想回答 是因为回答的次数多了
不回答又打击人的积极性
谁让自己接触的早呢
为了省劲还是把简单的东西作为指导篇吧
多个activity之间的传值 其实就是onActivityResult,然后别忘了还有一个action的问题 就是在主xml中添加自己的action以便于识别,最后次activity别忘了finansh。
public class Wizard extends Activity {
private TextView step1result, step2result, step3
public static final String INTENT_STEP1 = "com.novoda.STEP1";
public static final String INTENT_STEP2 = "com.novoda.STEP2";
public static final String INTENT_STEP3 = "com.novoda.STEP3";
private static final int STEP1 = 1;
private static final int STEP2 = 2;
private static final int STEP3 = 3;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wizard);
this.step1result = (TextView)findViewById(R.id.step1result);
this.step2result = (TextView)findViewById(R.id.step2result);
this.step3result = (TextView)findViewById(R.id.step3result);
startActivityForResult(new Intent(Wizard.INTENT_STEP1), STEP1);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case STEP1:
this.step1result.setText(data.getStringExtra("STEP1RESULT"));
startActivityForResult(new Intent(Wizard.INTENT_STEP2), STEP2);
case STEP2:
this.step2result.setText(data.getStringExtra("STEP2RESULT"));
startActivityForResult(new Intent(Wizard.INTENT_STEP3), STEP3);
case STEP3:
this.step3result.setText(data.getStringExtra("STEP3RESULT"));
public class Step1 extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.step1);
Button nextStep = (Button)findViewById(R.id.goto2);
nextStep.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent it = new Intent();
it.putExtra("STEP1RESULT", ((EditText)findViewById(R.id.step1value)).getText()
.toString());
setResult(Activity.RESULT_OK, it);
后面的step2 step3都是一样的了
然后还有主xml
&application android:icon="@drawable/icon" android:label="@string/app_name"&
&activity android:name=".Wizard" android:label="@string/app_name"&
&intent-filter&
&action android:name="android.intent.action.MAIN" /&
&category android:name="android.intent.category.LAUNCHER" /&
&/intent-filter&
&/activity&
&activity android:name=".Step1" android:label="Step1"&
&intent-filter&
&action android:name="com.novoda.STEP1" /&
&category android:name="android.intent.category.DEFAULT" /&
&/intent-filter&
&/activity&
&activity android:name=".Step2" android:label="Step2"&
&intent-filter&
&action android:name="com.novoda.STEP2" /&
&category android:name="android.intent.category.DEFAULT" /&
&/intent-filter&
&/activity&
&activity android:name=".Step3" android:label="Step3"&
&intent-filter&
&action android:name="com.novoda.STEP3" /&
&category android:name="android.intent.category.DEFAULT" /&
&/intent-filter&
&/activity&
&/application&
&uses-sdk android:minSdkVersion="7" /&
&/manifest&
下载次数: 900
浏览 94001
wang_peng1
浏览: 2701310 次
来自: 北京
最后的 -createDialog() 私有方法是怎么回事,没 ...
呵呵,呵呵
感觉你所的不清楚
lstView.setOnTouchLi ...
果然是大神啊!!!
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'

我要回帖

更多关于 textview 中英文 的文章

 

随机推荐