当前位置: 编程技术>移动开发
本页文章导读:
▪内部类了解【转】 内部类理解【转】
java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类。内部类又分为:常规内部类、局部内部类、匿名内部类和静态嵌套类四种。我们内部类的知.........
▪ ActionBar的施用 ActionBar的使用
public class ActionBarMechanicsActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().request.........
▪ notification经过intent传递参数到activity notification通过intent传递参数到activity
项目开发中遇到以下问题,需要在一个Activity中显示不同的消息类型,消息通过notification触发,代码如下:
Intent intent = new Intent(context,
.........
[1]内部类了解【转】
来源: 互联网 发布时间: 2014-02-18
内部类理解【转】
java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类。内部类又分为:常规内部类、局部内部类、匿名内部类和静态嵌套类四种。我们内部类的知识在android手机开发中经常用到。
一、常规内部类
所谓常规内部类,或者说内部类,指的就是除去后面三种之外的内部类(这算什么解释。。。)
先写一个最简单的内部类的例子,大家感觉一下:
<div id="highlighter_840510" ><div ><div ><a title="view source" href="http://android.yaohuiji.com/archives/category/java/page/5#viewsource">view source</a><a title="print" href="http://android.yaohuiji.com/archives/category/java/page/5#printsource">print</a><a title="?" href="http://android.yaohuiji.com/archives/category/java/page/5#about">?</a>
java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类。内部类又分为:常规内部类、局部内部类、匿名内部类和静态嵌套类四种。我们内部类的知识在android手机开发中经常用到。
一、常规内部类
所谓常规内部类,或者说内部类,指的就是除去后面三种之外的内部类(这算什么解释。。。)
先写一个最简单的内部类的例子,大家感觉一下:
<div id="highlighter_840510" ><div ><div ><a title="view source" href="http://android.yaohuiji.com/archives/category/java/page/5#viewsource">view source</a><a title="print" href="http://android.yaohuiji.com/archives/category/java/page/5#printsource">print</a><a title="?" href="http://android.yaohuiji.com/archives/category/java/page/5#about">?</a>
[2] ActionBar的施用
来源: 互联网 发布时间: 2014-02-18
ActionBar的使用
这是3.0的一个功能模块,就是代替以前的应用中的title,在bar的左上方显示应用图标,右上方显示代替传统的menu的多个菜单按钮.
public class ActionBarMechanicsActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEATURE_ACTION_BAR); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add("Normal item1"); menu.add("Normal item2"); MenuItem actionItem1 = menu.add("Action Button1"); MenuItem actionItem2 = menu.add("Action Button2"); MenuItem actionItem3 = menu.add("Action Button3"); actionItem1.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); actionItem2.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); actionItem3.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); actionItem1.setIcon(android.R.drawable.alert_dark_frame); actionItem2.setIcon(android.R.drawable.alert_dark_frame); actionItem3.setIcon(android.R.drawable.ic_menu_share); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Toast.makeText(this, "Selected Item: " + item.getTitle(), Toast.LENGTH_SHORT).show(); return true; } }
这是3.0的一个功能模块,就是代替以前的应用中的title,在bar的左上方显示应用图标,右上方显示代替传统的menu的多个菜单按钮.
[3] notification经过intent传递参数到activity
来源: 互联网 发布时间: 2014-02-18
notification通过intent传递参数到activity
项目开发中遇到以下问题,需要在一个Activity中显示不同的消息类型,消息通过notification触发,代码如下:
Intent intent = new Intent(context, NotificationDetailsActivity.class); intent.putExtra(PNConstants.NOTIFICATION_ID, notificationId); intent.putExtra(PNConstants.NOTIFICATION_TITLE, title); intent.putExtra(PNConstants.NOTIFICATION_MESSAGE, message); intent.putExtra(PNConstants.NOTIFICATION_LOGIN_URI, loginUri); intent.putExtra(PNConstants.NOTIFICATION_URI, uri); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); notification.setLatestEventInfo(context, title, message, contentIntent); notificationManager.notify(notificationId, notification);
如此,在接收多条不同类型的消息后,打开不同消息,进入消息详细页面NotificationDetailsActivity显示的始终是最后一条消息内容,而不是根据消息类型分类显示各分类的最后一条。
为解决此问题有两种方法,但是没有找到合理的解释,先记录如下,
方法1:为intent添加不同的Action
intent.setAction(""+System.currentTimeMillis());
方法2:PendingIntent.getActivity的第二个参数设为消息类型notificationId,
PendingIntent contentIntent = PendingIntent.getActivity(context, notificationId, intent, PendingIntent.FLAG_UPDATE_CURRENT);
最新技术文章: