android小记

Android笔记

  1. 手机页面的转换——setContentView

功能描述:默认使用main布局,里面有一个Button用来显示mylayout布局,在mylayout中有一个Button用来显示的内容;

代码实现:

publicvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

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

btn1.setOnClickListener(newView.OnClickListener() {

@Override

publicvoidonClick(View v) {

//TODOAuto-generated method stub

jumpToLayout02();

}

});

}

publicvoidjumpToLayout02(){

setContentView(R.layout.mylayout);

btn2= (Button)findViewById(R.id.btn2);

btn2.setOnClickListener(newView.OnClickListener() {

@Override

publicvoidonClick(View v) {

//TODOAuto-generated method stub

jumpToLayout01();

}

});

};

publicvoidjumpToLayout01(){

setContentView(R.layout.main);

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

btn3.setOnClickListener(newView.OnClickListener() {

@Override

publicvoidonClick(View v) {

//TODOAuto-generated method stub

jumpToLayout02();

}

});

}

注意:在jumpToLayout01()中,不能直接使用btn1,否则实现不了本语句的功能。

  1. 开启另一个Activity——Intent

功能描述:在两个Activity中有一个TextView和一个Button,用来显示本Activity的名称和跳转到另外一个Activity中;

代码实现:

Intentintent = newIntent();

intent.setClass(OtherActivity.this,SwitchActivityActivity.class);

startActivity(intent);

注意:当一个application中有多个activity时,需要在androidManifext.xml中为每一个activity都要注册


  1. 不同Activity之间的数据传递——Bundle

功能描述:在activity01中有一个EditText控件,和一个Button控件。当EditText中有内容时,按下Button,此信息将会在Activity02中的TextView中显示出来。

代码如下:

Activity01中的Button单击事件中:

inputMessage= snd1.getText().toString();

if(inputMessage.equals("")){

Toast.makeText(Activity01.this,"Pleaseinput message used sent !",Toast.LENGTH_LONG).show();

}else{

Intent intent = newIntent();

intent.setClass(Activity01.this,Activity02.class);

Bundle bundle = newBundle();

bundle.putString("snd1",inputMessage);

intent.putExtras(bundle);

startActivity(intent);

finish();

}

Activity02中的接收代码:

Bundlebundle = this.getIntent().getExtras();

recvMessage2= bundle.getString("snd1");

recv2.setText(recvMessage2);

注意:对于Activity01中的输入信息的获取一定要放在单击事件中,否则,将会获取不到输入的信息。


4、返回数据到前一个Activity——startActivityForResult

功能描述:在Activity01中有一个TextView用来显示传送来的信息,一个Button,用来跳转到Activity02中;在Activity02中有一个EditText用来输入要传送的信息,还有一个Button用来关闭当前的Activity02,并传送数据。

代码如下:

Activity01Button的单击事件:

Intentintent = newIntent();

intent.setClass(Activity01.this,Activity02.class);

Bundlebundle = newBundle();

bundle.putString("snd1",inputMessage); intent.putExtras(bundle);

startActivityForResult(intent,0);


Activity02Button的单击事件:

Intentintent = newIntent();

intent.setClass(Activity02.this,Activity01.class) Bundlebundle2 = newBundle();

bundle2.putString("snd2",sndMessage2);

intent.putExtras(bundle2);

setResult(0,intent);

finish();


Activity01类中覆写onActivityResult来接收数据:

if(resultCode== 0){

Bundlebundle2 = data.getExtras();

recvMessage= bundle2.getString("snd2");

recv1.setText(recvMessage);

}


注意:在覆写的onActivityResult方法中,Bundle类的对象不是新建的,而是通过参数获取到的。


5、具有交互功能的对话框—————AlertDialog窗口

功能描述:在主Activity里面有一个退出Button,按下此Button后,会显示一个确认退出的对话框,点击对话框里面的确定后会退出。

代码如下:

newAlertDialog.Builder(ShowDialog.this)

.setTitle("请确认...")

.setMessage("确认要退出吗?")

.setPositiveButton("确定",

newDialogInterface.OnClickListener() {

@Override

publicvoidonClick(DialogInterface dialog, intwhich)

{

//TODOAuto-generated method stub

finish();

}

}).show();


6全屏与退出全屏

按下一个Button为全屏,按下另一个Button为退出全屏

代码如下:

全屏代码:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

退出全屏代码:

finalWindowManager.LayoutParams attrs = getWindow().getAttributes();

attrs.flags&= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);

getWindow().setAttributes(attrs);

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值