Adndroid 从入门到精通 第五章 Activity
来源:互联网 发布:icebar 知乎 编辑:程序博客网 时间:2024/05/16 23:59
Activity 四大状态:
活动状态:位于Activity栈顶 用户可见,获得焦点
暂停状态:失去焦点的Activity 用户不可见,在系统内存低的情况下不能被Killed
停止状态: 该Activity被其他Activity覆盖,用户不可见,在系统内存低的情况下会被Killed 仍然保存所有的状态和信息
销毁状态:该Activity结束 或Activity所在的Dalvik进程结束
Activity的回调方法:
onCreate() 在创建Activity的时候被回调
onStart() 在启动Activity的时候被回调
onRestart() 重新启动Activity的时候被回调
onPause() 暂停Activity的时候被回调
onResume() 当Activity由暂定状态恢复成活动状态被回调
onStop() 停止Activity时被回调
onDestroy() 销毁Activity时被回调
//启动 Activity
Intent mIntent=new Intent(MainActivity.this, Detaile.class);startActivity(mIntent);//关闭 Activity
finish();
//创建无布局文件的Activity
public class AboutActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);LinearLayout ll = new LinearLayout(this);//创建一个线性布局ll.setPadding(20, 20, 20, 20); //设置线性布局的内边距TextView tx = new TextView(this);//创建文本tx.setTextSize(24);//设置文本大小tx.setText("adasdjkaslkdjaskdljaskdjasdlkjasldkjaslkdjasdkjasdlk");//设置内容ll.addView(tx);setContentView(ll);}}
<activity android:name=".AboutActivity" android:label="@string/about" android:theme="@android:style/Theme.Dialog" ><!-- 已Dialog的方式显示 --> </activity>
----------------------------------------------------多个Activity的使用----------------------------------------------------------------------------------------------------
Bundle 是一个字符串到各种Parcelable类型的映射,用于保存要携带的数据包
//传送数据的Activity
String UserName=((EditText)findViewById(R.id.id_UserName)).getText().toString();//获取用户名String PassWord=((EditText)findViewById(R.id.id_UserPass)).getText().toString();//获取用户密码<span style="color:#FF6666;">Intent mIntent = new Intent(Register.this, Detaile.class);Bundle mBundle = new Bundle();//实例化一个Bundle对象</span>mBundle.putCharSequence("User", UserName);//保存用户名mBundle.putCharSequence("pas", PassWord);//保存密码<span style="color:#FF6666;">mIntent.putExtras(mBundle);//将创建好的Bundle添加到Intent中</span>startActivity(mIntent);//启动
//接收收据的Activity
private void GetIntent() {Intent mIntent=getIntent();//获取Intent对象Bundle mBundle=mIntent.getExtras();// 获取传递的数据报<span style="color:#FF0000;">String UserName=mBundle.getString("User").toString();</span>Toast.makeText(Detaile.this, UserName, Toast.LENGTH_SHORT).show();}
-------------------------------调用另一个Activity 并返回结果------------------------------------------------------------
1声明一个常量的CODE
2 使用 Intent mIntent = new Intent(Test001.this, Hand.class);
startActivityForResult(mIntent,Code2); 启动Activity
3.重写onActivityResult方法
4判断if (requestCode==CODE&&resultCode==CODE)
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_hand);mArrayList = new ArrayList<Map<String, Object>>();for (int i = 0; i < Img.length; i++) {Map<String, Object> map = new HashMap<String, Object>();map.put("Img", Img[i]);mArrayList.add(map);}SimpleAdapter mSimpleAdapter = new SimpleAdapter(Hand.this, mArrayList,R.layout.item, new String[] { "Img" },new int[] { R.id.id_img });((GridView)findViewById(R.id.GridView1)).setAdapter(mSimpleAdapter);((GridView)findViewById(R.id.GridView1)).setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {Intent mIntent =getIntent();Bundle mBundle=new Bundle();mBundle.putInt("Image", Img[position]);mIntent.putExtras(mBundle);setResult(1, mIntent);finish();}});}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO 自动生成的方法存根super.onActivityResult(requestCode, resultCode, data);if (requestCode==CODE&&resultCode==CODE) {((EditText)findViewById(R.id.editText1)).setText("");((EditText)findViewById(R.id.editText2)).setText("");RadioGroup sexRadioGroup=(RadioGroup)findViewById(R.id.sex);String Sex="";for (int i = 0; i < sexRadioGroup.getChildCount(); i++) {RadioButton mRadioButton=(RadioButton)sexRadioGroup.getChildAt(i);mRadioButton.setChecked(false);}}if(requestCode==Code2&&resultCode==Code2){//获取选中的图像赋值//取 data就是IntentBundle mBundle=data.getExtras();int InageID=mBundle.getInt("Image");((ImageView)findViewById(R.id.id_ImgView)).setImageResource(InageID);}
- Adndroid 从入门到精通 第五章 Activity
- WF从入门到精通(第五章):workflow跟踪
- WF从入门到精通(第五章):workflow跟踪
- 《Java从入门到精通》第五章学习笔记
- SpringMVC从入门到精通之第五章【转】
- linux从入门到精通笔记 第五章
- Java从入门到精通第五章字符串笔记
- 黑马韩前成linux从入门到精通の第五章Shell常用Linux命令
- 源码-PL/SQL从入门到精通-第五章-管理数据表
- 从入门到精通
- Android从入门到精通第5章:基本程序单元Activity
- 《C游戏编程从入门到精通》第五章——直接写屏(前几章跳过)
- Google从入门到精通
- JAVA从入门到精通
- GOOGLE从入门到精通
- 搜索引擎从入门到精通
- RMS从入门到精通
- RSS从入门到精通
- 谷歌服务,想说爱你不容易
- Cookie与Session的区别于用法
- java私塾高级设计模式视频链接
- 【Android】JAVA中String与int的转换
- 用TinySpider进行网页抓取实例
- Adndroid 从入门到精通 第五章 Activity
- Android JNI 数据类型转换
- qsort函数和bsearch函数的使用
- ios7 JavaScriptCore.framework
- MATLAB System Error
- Linux(Ubuntu)的网络配置
- 高致病性禽流感的潜伏期是多长?发病率和死亡率如何?
- 前端自动化构建工具Grunt
- 代理工具WebScarab安装