设为首页 加入收藏

TOP

Android Activity详解(二)
2014-11-24 14:30:28 来源: 作者: 【 】 浏览:1
Tags:Android Activity 详解
intent =new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);


startActivityForResult(intent, PICK_CONTACT_REQUEST);


}



@Override


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


// If the requestwent well (OK) and the request was PICK_CONTACT_REQUEST


if (resultCode== Activity.RESULT_OK && requestCode == PICK_CONTACT_REQUEST) {


// Perform aquery to the contact's content provider for the contact's name


Cursorcursor = getContentResolver().query(data.getData(),new String[]{Contacts.DISPLAY_NAME}, null, null, null);


if(cursor.moveToFirst()) { // True if the cursor is not empty


intcolumnIndex = cursor.getColumnIndex(Contacts.DISPLAY_NAME);


String name =cursor.getString(columnIndex);


// Dosomething with the selected contact's name...


}


}


}


此例子展示了在onActivityResult()中的基本逻辑流程。首选检查所启动的Activity是否正确运行,resultCode为Activity.RESULT_OK表示正常,其次,查看requestCode是否与当时请求的一致,即是否为PICK_CONTACT_REQUEST。都通过后,开始操作返回的数据,也就是data参数。


Data是这样处理的,用ContentResolver向内容提供者发出请求,这个请求会返回一个游标,通过这个游标读取数据,这很像数据库表的操作。要理解此处,请查阅Content Providers一节。


Activity可以内部调用finish()方法关闭它自己,也可以调用finishActivity()方法关闭其它的activity。


注意:大多数情况下,你不应主动结束一个activity。系统掌管着activity的生命,所以你也不必结束自己的activity。使用上述方法会破坏用户体验。除非你觉得很必要时,否则就不要做!


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android开发:什么是Parcel(2) 下一篇Android菜单详解

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: