activity间的传值 1.值由A.class传递到B.class A.class中: B.class中: Intent intent = getIntent(); //获取数据 String username = intent.getStringExtra("username1"); String userpwd = intent.getStringExtra("userpwd1"); /* Bundle data = intent.getExtras(); String username = intent.getString("username1"); String userpwd = intent.getString("userpwd1"); */ 2.除了A.class可以向B.class传值外,B.class也可以返回值 A.class中 this.startActivity(intent); 改为this.startActivityFroResult(intent,1);//1为请求码 B.class中 对传过来的intent对象赋新值 intent.putExtra("username2",username2); intent.putExtra("userpwd2",userpwd2); this.setResult(1,intent); this.finish();//结束焦点 A.class中重写 @Override protected void onActivityResult(int requestCode,int resultCode,Intent data){ super.onActivityResult(requestCode,resultCode,data); if(resultCode==1) { //可从data中取出值 } } A.class中取出B.class中intent传过来的值 3.intent.setClass(A.this,B.class)的另一种写法 在manifest.xml中B的Activity中加入 <intent-filter> <action android:name="com.showB">//这里可以随便写 <category android:name = "android.intent.category.DEFAULT"> </intent-filter> 那么A中就可以直接写 intent.setAction("com.showB"); 来代替 intent.setClass(A.this,B.class); 这也就提示了我们利用intent-filter可以实现其他很多功能
如何实现android跳转页面并传递参数
最新推荐文章于 2025-02-06 17:02:36 发布