android:跳转,Intent,有无返回值
16lz
2021-12-04
2014-08-17
<!-- 第一个页面 --> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="126dp" android:text="返回的参数值" /> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignRight="@+id/textView1" android:text="无返回值跳转" /> <Button android:id="@+id/button2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignRight="@+id/button1" android:layout_below="@+id/button1" android:text="有返回值跳转" />
<!-- 第二个页面 --> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button" />
1 //java 第一个页面 2 3 public class MainActivity extends ActionBarActivity { 4 private Button bt1; 5 private Button bt2; 6 private TextView tv; 7 8 @Override 9 protected void onCreate(Bundle savedInstanceState) {10 super.onCreate(savedInstanceState);11 setContentView(R.layout.fragment_main);12 13 /**14 * 两种跳转方法15 * 1、无返回值 使用 startActivity(intent);16 * 2、有返回结果的跳转 使用 startActivityForResult(intent, requestCode);17 */18 bt1 = (Button) findViewById(R.id.button1);19 bt2 = (Button) findViewById(R.id.button2);20 tv = (TextView) findViewById(R.id.textView1);21 22 bt1.setOnClickListener(new OnClickListener() {23 24 @Override25 public void onClick(View v) {26 // TODO 自动生成的方法存根27 Intent intent = new Intent(MainActivity.this, Change.class);28 startActivity(intent); //第一种方法29 }30 });31 32 bt2.setOnClickListener(new OnClickListener() {33 34 @Override35 public void onClick(View v) {36 // TODO 自动生成的方法存根37 Intent intent = new Intent(MainActivity.this, Change.class);38 /**39 * 第二种方法40 * @intent:Intent 对象41 * @requestCode: 请求的标识,这里写 142 */43 startActivityForResult(intent, 1);44 }45 });46 }47 48 49 /**50 * 通过startActivityForResult跳转,接收返回的数据51 * @requestCode: 请求的标识52 * @resultCode: 接收返回的标识53 * @data: 接收的数据54 */55 @Override56 protected void onActivityResult(int requestCode, int resultCode, Intent data) {57 // TODO 自动生成的方法存根58 super.onActivityResult(requestCode, resultCode, data);59 if (requestCode==1 && resultCode==2) {60 String content = data.getStringExtra("data");61 tv.setText(content);62 }63 }64 }
1 //java 第二个页面 2 3 public class Change extends Activity{ 4 private Button bt; 5 6 @Override 7 protected void onCreate(Bundle savedInstanceState) { 8 // TODO 自动生成的方法存根 9 super.onCreate(savedInstanceState);10 setContentView(R.layout.change);11 12 bt = (Button) findViewById(R.id.button1);13 bt.setOnClickListener(new OnClickListener() {14 15 @Override16 public void onClick(View v) {17 // TODO 自动生成的方法存根18 Intent data = new Intent();19 data.putExtra("data", "你好");20 setResult(2,data); //发送出去的标识21 finish(); //关闭页面22 }23 });24 25 }26 27 }
显示效果:
更多相关文章
- 针对于Button的OnClickListener
- 当GridView中的一项被点中的时候显示的背景图片:android:listSele
- Android中EditText的使用总结
- Android锁屏的问题
- Android跨进程通信IPC之11——AIDL
- Android与Unity交互研究
- 分享方法:android 获得屏幕状态
- android button 点击事件
- 左右条栏目 分层MVP RecyclerView