0315一、Activity是什么和Intent
来源:互联网 发布:淘宝大悦运动是正品吗 编辑:程序博客网 时间:2024/05/08 18:42
一 、 活动Activity
是一种包含用户界面的组件,主要用于和用户交互。
1.隐藏标题
requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题栏
2.使用Toast来提示用户,显示后自动消失
点击按钮提示
Button button1 = (Button) findViewById(R.id.button_1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(FirstActivity.this, "You clicked Button1", Toast.LENGTH_SHORT).show();
}
});
3.使用menu
在res下创建menu文件夹,在menu文件夹下创建名叫main的Android XML File
在活动中
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.add_item:
Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
一个创建菜单、一个相应菜单。
4.销毁一个活动
Back键或者 在activity类中finish()
**使用intent在活动之间跳转
intent是安卓各组件之间交互的一种重要方式,不仅可以致命当前组件想要完成的动作,还可以在不同组件之间传递数据。
一般被用于启动活动、启动服务、以及发送广播等场景。分显式intent和隐式intent。
1.修改第一个activity中的某个click事件
public void onClick(View v) {
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.addCategory("com.example.activitytest.MY_CATEGORY");
startActivity(intent);
}
2.隐式intent,不仅可以启动自己程序内的活动,还可以启动其他程序的活动,使Android多个应用程序之间功能共享成为可能。
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
}
3.调用系统拨号界面
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);
}
4。向下一活动传递数据
传入
public void onClick(View v) {
String data = "Hello SecondActivity";
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra("extra_data", data);//one is key ,other is value;
startActivity(intent);
}
接收
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.second_layout);
Intent intent = getIntent();//用于启动SecondActivity的Intent
String data = intent.getStringExtra("extra_data");//然后调用getStringExtra()传入键值,获取数据
Log.d("SecondActivity",data);
}
5.返回数据给上一活动
startActivityForResult()在活动销毁的时候能够返回一个结果给上一个活动。
FirstActivity中
public void onClick(View v) {
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivityForResult(intent, 1);
}
SecondActivity中
Button button2 = (Button) findViewById(R.id.button_2);
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v ) {
Intent intent = new Intent();
intent.putExtra("data_return", "Hello FirstActivty");
setResult(RESULT_OK,intent);//专门向上以个活动返回数据的
finish();
}
});
FirstActivity中接收返回的数据
通过重写onActivityResult来得到返回的数据
@Override
protected void onActivityResult(int requestCode,int resultCode , Intent data){
switch (requestCode){
case 1 :
if(resultCode == RESULT_OK){
String returnedData = data.getStringExtra("data_return");
Log.d("FirstActivity", returnedData);
}
break;
default:
}
}
6.通过Back键来返回数据
@Override
public void onBackPressed() {
Intent intent = new Intent();
intent.putExtra("data_return", "Hello FirstActivity By BACKKEY");
setResult(RESULT_OK,intent);
finish();
}
当用户按下back建,就会执行onBackPressed()方法中的代码。
- 0315一、Activity是什么和Intent
- Android(一) activity、intent知识和总结
- Activity和Intent 任务一 打招呼
- 说说 Activity,Intent,Service 是什么关系
- Activity和Intent示例
- Android Activity和Intent
- Activity和Intent机制
- Android--Activity和Intent
- Activity和Intent机制
- Activity和Intent
- Activity和Intent
- Activity和Intent
- Activity 和 Intent
- Activity和Intent
- Android- Activity 和 Intent
- activity和intent介绍
- Activity和Intent机制
- Activity和Intent
- 云服务器搭建wordpress
- 关于Android studio报junit错误的问题
- Java源码分析之AbstractStringBuilder
- Masonry mas_updateConstraints 更新约束冲突解决
- 新建maven 项目将pom.xml中<packaging>值改为pom报错
- 0315一、Activity是什么和Intent
- 第十五、Java面向对象三大特性之封装
- 定时器原理
- uboot下init_sequence_f函数之INIT_FUNC_WATCHDOG_RESET
- 随笔
- Ceph OSD Down
- 使用CollectionViewController出现崩溃:Terminating app due to uncaught exception 'NSInvalidArgumentException
- JavaMail的语法格式(以获取一个邮件为例)
- MR