Android中Activity之间访问互传参数
16lz
2021-12-04
public class MainActivity extends Activity {private static final int OTHER = 1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic 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;}public void goOtherActivity(View v) {// 显示意图的操作/* * Intent intent = new Intent(this, OtherActivity.class); * startActivity(intent); */// 隐士意图的操作/* * Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); * intent.setData(Uri.parse("tel:"+1235)); startActivity(intent); */// 自定义的隐士意图操作/* * Intent intent = new Intent(); * intent.setAction("www.csdn.net.hbsi");// 自定义的action * intent.addCategory("android.intent.category.DEFAULT"); * * * intent.setDataAndType(Uri.parse("csdn://www.csdn.net/xx"), * "image/jpeg"); // 执行意图 startActivity(intent); */// 数据传递的实现/* * Intent intent = new Intent(MainActivity.this, OtherActivity.class); * * intent.putExtra("name", "shasha"); intent.putExtra("pass", "xxxx"); * * startActivity(intent); */// 返回数据的获取的操作Intent intent = new Intent(MainActivity.this, OtherActivity.class);intent.putExtra("name", "shasha");intent.putExtra("pass", "xxxx");// 新打开的activity返回的数据startActivityForResult(intent, OTHER);}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);// 请求码switch (requestCode) {// other 这个请求 的处理case OTHER:// 根据请求返回值得结果码 再进行匹配switch (resultCode) {case RESULT_OK:Toast.makeText(this, "返回的数据" + data.getStringExtra("result"),Toast.LENGTH_LONG).show();break;default:break;}break;default:break;}}}
public class OtherActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_other);// 获取数据Bundle bundle = this.getIntent().getExtras();Intent intent = this.getIntent();// Toast.makeText(this,// "名称:"+bundle.get("name")+" 密码:"+bundle.get("pass"),// Toast.LENGTH_LONG).show();Toast.makeText(this,"名称:" + intent.getStringExtra("name") + " 密码:"+ intent.getStringExtra("pass"), Toast.LENGTH_LONG).show();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;}public void backActivity(View v) {// 显示意图的操作// Intent intent = new Intent();// intent.setClass(this, MainActivity.class);/* * intent.setClassName("com.example.lession12_activity", * "com.example.lession12_activity.MainActivity"); */// intent.setComponent(new// ComponentName("com.example.lession12_activity",// "com.example.lession12_activity.MainActivity"));// startActivity(intent);Intent intent = new Intent();intent.putExtra("result", "CSDN");OtherActivity.this.setResult(RESULT_OK, intent);OtherActivity.this.finish();// 关闭activity}}
AndroidManifest.xml中
<!-- 意图过虑器 --> <!-- <intent-filter> <action android:name="www.csdn.net.hbsi"/> <data android:host="www.csdn.net" android:mimeType="image/jpeg" android:path="/xx" android:scheme="csdn"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> <intent-filter > <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> -->
更多相关文章
- mybatisplus的坑 insert标签insert into select无参数问题的解决
- python起点网月票榜字体反爬案例
- android的文件操作。(未整理完成)
- android listview 自动加载
- 转:Android之通信录中的联系人操作
- DataBinding
- Android(安卓)SQLiteDatabase的使用
- android SQLite数据库基本操作示例
- android中的状态保存