android 使用Intent传递数据之返回结果
2015-04-29 00:00
661 查看
我们开发应用时,不仅仅需要传递数据给其他activity,也要从其他activity中返回数据。
返回数据,我们一般采用Intent对象的方式来返回数据,采用这种方式,需要使用startActivityForResult方法来显式Activity,并且需要重写onActivityResult方法。
启动intent时,使用startActivityForResult方法
重写onActivityResult方法
/在另外一个activity中声明一个新的intent的,调用intent对象的setResult方法,并调用finish方法结束activity的生命周期。
返回数据,我们一般采用Intent对象的方式来返回数据,采用这种方式,需要使用startActivityForResult方法来显式Activity,并且需要重写onActivityResult方法。
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; public class MainActivity extends Activity { private final int REQUESTCODE=1;//返回的结果码 private EditText one,two,three; private Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button)findViewById(R.id.button); one = (EditText)findViewById(R.id.one); two = (EditText)findViewById(R.id.two); three=(EditText)findViewById(R.id.three); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub int a = Integer.parseInt(one.getText().toString()); int b = Integer.parseInt(two.getText().toString()); Intent intent = new Intent(MainActivity.this,OtherActivity.class); intent.putExtra("a", a); intent.putExtra("b", b); startActivityForResult(intent, REQUESTCODE);//表示可以返回结果 } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if(resultCode==2){ if(requestCode==REQUESTCODE){ int request = data.getIntExtra("three", 0);//接收返回数据 three.setText(String.valueOf(request)); } } } }
启动intent时,使用startActivityForResult方法
重写onActivityResult方法
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; import android.widget.EditText; import android.widget.TextView; public class OtherActivity extends Activity { private Button button; private TextView textview; private EditText edittext; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.other); button = (Button)findViewById(R.id.obutton); textview = (TextView)findViewById(R.id.msg); edittext = (EditText)findViewById(R.id.result); Intent intent = getIntent(); int a = intent.getIntExtra("a", 0); int b = intent.getIntExtra("b", 0); textview.setText(a+" + "+b+" = ?"); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub int request = Integer.parseInt(edittext.getText().toString()); Intent intent = new Intent(); intent.putExtra("three", request); //通过Intent对象返回结果,调用setResult方法 setResult(2,intent); finish();//结束当前的activity的生命周期 } }); } }
/在另外一个activity中声明一个新的intent的,调用intent对象的setResult方法,并调用finish方法结束activity的生命周期。
相关文章推荐
- android 使用Intent传递数据之返回结果
- Android学习备忘011——使用Intent传递数据之返回结果
- 【Android】使用Intent实现数据传递之返回结果
- android 使用Intent传递数据之返回结果
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- Android入门篇六:使用意图传递数据之返回结果
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- android使用意图传递数据之返回结果
- 使用Intent传递数据之返回结果
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- 意图(Intent)讲解2:安卓使用意图(Intent)传递数据并返回结果
- android---(Activity组件、状态、生命周期、传递数据、处理返回结果、屏幕方向、保存数据)
- android中使用Intent在activity之间传递数据
- android中使用Intent在activity之间传递数据
- Android 开发中使用Intent传递数据的方法
- android使用Intent传递数据 2 种方式(Intent和Bundle)
- Android两个Activity传递数据,onActivityResult获取结果时Intent为空问题
- Android—使用Intent传递数据
- Android 开发中使用Intent传递数据的方法