如何在Android上发送活动之间的意图变量?

编程入门 行业动态 更新时间:2024-10-19 22:37:42
本文介绍了如何在Android上发送活动之间的意图变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在写一个机器人apllication和我有两个活动。我应该发送请求code,结果code和意图数据到其他活动。我已经成功地发送前两个成功地但我怎么能发送意图数据变到其他的活动?

@覆盖保护无效的onActivityResult(INT申请code,INT结果code,意图数据){    super.onActivityResult(要求code,结果code,数据);    尝试{        //当图像拾取        如果(要求code == RESULT_LOAD_IMG&放大器;&安培;结果code == RESULT_OK                &功放;&安培;空!=数据){

解决方案

这FirstActivity调用次活动:

意向意图=新意图(FirstActivity.this,SecondActivity.class);intent.putExtra(intent_data_tag,数据);startActivityforResult(意向,200);

在第二个活动获取意图数据:

字符串intentData = getIntent()getStringExtra(intent_data_tag,利用DefValue);

发送结果FirstActivity:

意图resultIntent =新意图(); // TODO添加额外或数据URI这个意图为宜。 resultIntent.putExtra(result_data_tag,result_data); 的setResult(Activity.RESULT_OK,resultIntent); 完();

获取导致FirstActivity:

@覆盖保护无效的onActivityResult(INT申请code,INT结果code,意图数据){如果(要求code == 200安培;&安培;结果code == RESULT_OK&放大器;&安培;!数据= NULL){    串resultData = data.getStringExtra(result_intent,利用DefValue)}}

例如:MainActivity.java

进口android.os.Bundle;进口android.app.Activity;进口android.content.Intent;进口android.view.Menu;进口android.view.View;进口android.view.View.OnClickListener;进口android.widget.Button;进口android.widget.TextView;公共类MainActivity延伸活动{TextView的textView1;按钮按钮1;@覆盖保护无效的onCreate(捆绑savedInstanceState){    super.onCreate(savedInstanceState);    的setContentView(R.layout.activity_main);    textView1 =(的TextView)findViewById(R.id.textView1);    BUTTON1 =(按钮)findViewById(R.id.button1);    button1.setOnClickListener(新OnClickListener(){        @覆盖        公共无效的onClick(查看为arg0){            意向意图=新意图(MainActivity.this,SecondActivity.class);            startActivityForResult(意向,2); //活动是开始要求code 2        }    });} //回拨方法得到的消息形式与其他活动@覆盖   保护无效的onActivityResult(INT申请code,INT结果code,意图数据)   {             super.onActivityResult(要求code,结果code,数据);              //检查请求code是一样的东西这里传递的是它是2               如果(要求code == 2)                     {                        字符串消息= data.getStringExtra(MESSAGE);                        textView1.setText(消息);                     } }@覆盖公共布尔onCreateOptionsMenu(菜单菜单){    //充气菜单;如果是present这增加了项目操作栏。    。getMenuInflater()膨胀(R.menu.main,菜单);    返回true;}

}

SecondActivity.java

进口android.os.Bundle;进口android.app.Activity;进口android.content.Intent;进口android.view.Menu;进口android.view.View;进口android.view.View.OnClickListener;进口android.widget.Button;进口android.widget.EditText;进口android.widget.TextView;公共类SecondActivity延伸活动{的EditText editText1;按钮按钮1;@覆盖保护无效的onCreate(捆绑savedInstanceState){    super.onCreate(savedInstanceState);    的setContentView(R.layout.activity_second);    editText1 =(EditText上)findViewById(R.id.editText1);        BUTTON1 =(按钮)findViewById(R.id.button1);        button1.setOnClickListener(新OnClickListener(){            @覆盖            公共无效的onClick(查看为arg0){                字符串消息= editText1.getText()的toString()。                意向意图=新的Intent();                intent.putExtra(信息,消息);                的setResult(2,意向);                光洁度(); //整理活性            }        });}@覆盖公共布尔onCreateOptionsMenu(菜单菜单){    //充气菜单;如果是present这增加了项目操作栏。    。getMenuInflater()膨胀(R.menu.second,菜单);    返回true;}}

i’m writing an android apllication and i have two Activities. i should send the requestCode, the resultCode, and the Intent data into the other activity. I’ve managed to send the first two succesfully but how can i send „intent data " variable into an other activity?

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); try { // When an Image is picked if (requestCode == RESULT_LOAD_IMG && resultCode == RESULT_OK && null != data) {

解决方案

Calling Second Activity from FirstActivity :

Intent intent = new Intent(FirstActivity.this, SecondActivity.class); intent.putExtra("intent_data_tag","data"); startActivityforResult(intent,200);

get intent data in second activity:

String intentData = getIntent().getStringExtra("intent_data_tag","defValue");

Sending result to FirstActivity:

Intent resultIntent = new Intent(); // TODO Add extras or a data URI to this intent as appropriate. resultIntent.putExtra("result_data_tag","result_data"); setResult(Activity.RESULT_OK, resultIntent); finish();

Get result in FirstActivity:

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 200 && resultCode == RESULT_OK && data != null) { String resultData = data.getStringExtra("result_intent","defValue") } }

Example : MainActivity.java

import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { TextView textView1; Button button1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView1=(TextView)findViewById(R.id.textView1); button1=(Button)findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent=new Intent(MainActivity.this,SecondActivity.class); startActivityForResult(intent, 2);// Activity is started with requestCode 2 } }); } // Call Back method to get the Message form other Activity @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // check if the request code is same as what is passed here it is 2 if(requestCode==2) { String message=data.getStringExtra("MESSAGE"); textView1.setText(message); } } @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; }

}

SecondActivity.java

import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class SecondActivity extends Activity { EditText editText1; Button button1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); editText1=(EditText)findViewById(R.id.editText1); button1=(Button)findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { String message=editText1.getText().toString(); Intent intent=new Intent(); intent.putExtra("MESSAGE",message); setResult(2,intent); finish();//finishing activity } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.second, menu); return true; } }

更多推荐

如何在Android上发送活动之间的意图变量?

本文发布于:2023-08-01 12:31:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1268369.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:变量   意图   如何在   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!