android单个页面切换_Android两界面之间的切换

计算机112 孔秋静

该应用主要测试两界面之间的切换

1.创建一个名为layout_switch的工程

在res-->layout内在创建一个xml名为MYActivity并在界面中随意拖放几个控件

回到MainActivity.java

packagecom.example.layout_switch;importandroid.os.Bundle;importandroid.app.Activity;importandroid.view.Menu;importandroid.content.Intent;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;public class MainActivity extends Activity implementsOnClickListener {

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

b1=(Button) findViewById(R.id.btn1);

b1.setOnClickListener(this);

}

Button b1;

@Overridepublic booleanonCreateOptionsMenu(Menu menu) {//Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);return true;

}

@Overridepublic voidonClick(View arg0) {//TODO Auto-generated method stub//Intent i=new Intent(MainActivity.this,MYActivity.class);//startActivity(i);

Intent intent1=new Intent(MainActivity.this,MYActivity.class);

}

}

添加如上代码

效果图如下

点击Button后切换至

以上基本实现切换。

在实现切换有以下几种情况:

1.无参数Activity跳转

Intent it = new Intent(Activity.Main.this, Activity2.class);

startActivity(it);

2.向下一个Activity传递数据(使用Bundle和Intent.putExtras)

Intent it = new Intent(Activity.Main.this, Activity2.class);

Bundle bundle=new Bundle();

bundle.putString("name", "This is from MainActivity!");

it.putExtras(bundle); // it.putExtra(“test”, "shuju”);

startActivity(it); // startActivityForResult(it,REQUEST_CODE);

对于数据的获取可以采用:

Bundle bundle=getIntent().getExtras();

String name=bundle.getString("name");

3.向上一个Activity返回结果(使用setResult,针对startActivityForResult(it,REQUEST_CODE)启动的Activity)

Intent intent=getIntent();

Bundle bundle2=new Bundle();

bundle2.putString("name", "This is from ShowMsg!");

intent.putExtras(bundle2);

setResult(RESULT_OK, intent);

4.回调上一个Activity的结果处理函数(onActivityResult)

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

// TODO Auto-generated method stub

super.onActivityResult(requestCode, resultCode, data);

if (requestCode==REQUEST_CODE){

if(resultCode==RESULT_CANCELED)

setTitle("cancle");

else if (resultCode==RESULT_OK) {

String temp=null;

Bundle bundle=data.getExtras();

if(bundle!=null) temp=bundle.getString("name");

setTitle(temp);

}

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值