Activity与intent
来源:互联网 发布:自学plc编程 编辑:程序博客网 时间:2024/06/10 05:03
1. 概念
什么是Activity?
链接
什么是Intent?
Intent是一种运行时绑定(runtime binding)机制,它能在程序运行过程中连接两个不同组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来请求。这些组件的通讯,主要是由Intent协助完成的。
2. 例子: 单击MainActivity的Button控件, 会跳到OtherActivity的Button控件
一、对于MainActivity:
① MainActivity的Activity已经在AndroidMainfest.xml中注册,暂且不管;
②layout布局:添加一个TextView和一个Button
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="${packageName}.${activityClass}" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>"
</LinearLayout>
二、对于OtherActivity:
①在AndroidMainfest.xml中注册Activity
<activity
android:name=".OtherActivity" //注意名字一定要与src中的源文件一致
android:label="@string/other_name"></activity>
②layout布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="${packageName}.${activityClass}" >
<TextView
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
③ 回到源文件中对控件进行设置
public class OtherActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_other);
TextView textView2 = (TextView)findViewById(R.id.textView2);
textView2.setText(R.string.other_name);
Button button2 = (Button)findViewById(R.id.button2);
button2.setText(R.string.other_name);
}
}
三、回到MainActivity中
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView1 = (TextView)findViewById(R.id.textView1);
textView1.setText(R.string.app_name);
Button button1 = (Button)findViewById(R.id.button1);
button1.setText(R.string.hello_world);
button1.setOnClickListener(new MyButtonListener()); //设置监听事件
}
class MyButtonListener implements OnClickListener{
@Override
public void onClick(View v) { //单击时的动作
// TODO Auto-generated method stub
Intent intent = new Intent(); //Intent对象
intent.setClass(MainActivity.this, OtherActivity.class); // 单击时从MainActivity 跳到OtherActivity
MainActivity.this.startActivity(intent);// 执行intent
}
}
3. intent传递数据
MainActivity中
Intent intent = new Intent();
intent.putExtra("data", "12345");
OtherActivity中
Intent intent = getIntent();
String value = intent.getStringExtra("data");
4. intent的menu控件使用
public boolean onCreateOptionsMenu(Menu menu) { //添加menu控件的选项
// TODO Auto-generated method stub
menu.add(0, 1, 1, R.string.exit); // 控件号 选项条目号 选项条目的排序 标题
menu.add(0, 2, 2, R.string.about);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) { //当单击控件时跳到该函数
// TODO Auto-generated method stub
if (item.getItemId() == 1)
finish();
return super.onOptionsItemSelected(item);
}
- Intent与Activity介绍
- Activity与Intent
- Intent与Activity
- Activity与Intent
- Activity与Intent
- Activity与Intent
- Intent与Activity
- Activity与Intent
- Activity与intent
- Intent 与 Activity 相互关系
- android 开发 Activity 与intent
- Android Activity与Intent机制
- 如何认识activity与intent
- activity与intent的关系
- Activity与Intent(一)
- android中的Activity与Intent
- Activity 与 Intent, 开启另一个activity ,用Intent传值
- Activity Task 与 Intent Filter Flag
- 将App设置为设备的启动应用
- ViewPager和ListView
- Android--RecyclerView,SwipeRefreshLayout相关
- 阿里百川码力APP监控 来了!
- 冒泡、选择、插入、归并、快速排序代码
- Activity与intent
- 【MySQL】10条SQL优化语句,让你的MySQL数据库跑得更快!
- Windows 下的 Redis 集群搭建
- inotify使用
- http协议、http事务、URL、http请求的方式、响应码信息、http1.0和1.1区别
- super关键字
- 开篇
- centos7安装jdk+tomcat+nginx+mysql
- Win7系统无线连接路由器黄色感叹号终极解决办法