Android开启新的界面获取新界面的返回值
发布日期:2021-06-30 21:21:34 浏览次数:3 分类:技术文章

本文共 3418 字,大约阅读时间需要 11 分钟。

 

 

开发步骤:

1.告诉系统 想打开新的界面并且想获取新界面的返回值

2. 将数据返回 并关闭自己

3. 实现onActivityResult()  获取响应值

MainActivity.java

package com.li.pageTransfer;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import android.widget.TextView;public class MainActivity extends Activity {	private ImageView mHandImage;	private TextView mSex;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		mHandImage=(ImageView)findViewById(R.id.handImage);		mSex=(TextView)findViewById(R.id.setTextView);	}	//点击跟换头像	public void clickHandImage(View v){		Intent intent = new Intent(this,MyHandImage.class);		//requestCode		startActivityForResult(intent, 1);	}	//点击选择性别	public void clickSelectSex(View v){		Intent intent = new Intent(this,SetSex.class);		startActivityForResult(intent, 2);	}	@Override	//resultCode区分哪一个页面的传来的值	protected void onActivityResult(int requestCode, int resultCode, Intent data) {		if(data!=null){			if(requestCode==1){				mHandImage.setImageResource(data.getIntExtra("image", 0));			}			if(requestCode==2){				mSex.setText(data.getStringExtra("sex"));			}		}	}	}

 

activity_main.xml

 

MyHandImage.java

package com.li.pageTransfer;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;public class MyHandImage extends Activity implements android.view.View.OnClickListener{	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_my_hand_image);		findViewById(R.id.e0).setOnClickListener(this);		findViewById(R.id.e1).setOnClickListener(this);		findViewById(R.id.e2).setOnClickListener(this);		findViewById(R.id.e3).setOnClickListener(this);	}	@Override	public void onClick(View v) {		Intent data=new Intent();		switch (v.getId()) {		case R.id.e0:			data.putExtra("image", R.drawable.e0);			break;		case R.id.e1:			data.putExtra("image", R.drawable.e1);			break;		case R.id.e2:			data.putExtra("image", R.drawable.e2);			break;		case R.id.e3:			data.putExtra("image", R.drawable.e3);			break;		}		//resultCode是用来区分数据类型的  比如int  是0x001   boolean 0x002....		//setResult(resultCode, data);		setResult(0, data);		finish();//关闭该窗口	}}

 

activity_my_hand_image.xml

 

SetSex.java

package com.li.pageTransfer;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;public class SetSex extends Activity implements OnClickListener{	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_set_sex);		findViewById(R.id.man).setOnClickListener(this);		findViewById(R.id.woman).setOnClickListener(this);		findViewById(R.id.nosex).setOnClickListener(this);	}	@Override	public void onClick(View v) {		Intent data = new Intent();				switch (v.getId()) {		case R.id.man:			data.putExtra("sex", "男");			break;		case R.id.woman:			data.putExtra("sex", "女");			break;		case R.id.nosex:			data.putExtra("sex", "未知");			break;		}		//resultCode是用来区分数据类型的  返回时不知道是什么类型就用resultCode来区分   比如int  是0x001   boolean 0x002....		//setResult(resultCode, data);		setResult(0x001, data);		finish();//关闭窗口	}}

 

 
activity_set_sex.xml

 

转载地址:https://liwangjiang.blog.csdn.net/article/details/79680592 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:SharedPreferences 的用法
下一篇:Android显式意图和隐式意图的区别

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月12日 08时06分14秒