我会在按钮上添加一个数字,代表facebooks应用程序的通知数量。 我按照本主题中的第一个示例进行操作:
Actionbar notification count icon (badge) like Google has
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem item = menu.findItem(R.id.badge);
MenuItemCompat.setActionView(item, R.layout.feed_update_count);
notifCount = (Button) MenuItemCompat.getActionView(item);
notifCount.setText(String.valueOf(SingletonGrafica.getNumeroNotifica()));
return super.onCreateOptionsMenu(menu);
}
我打电话的时候:
MenuItem item = menu.findItem(R.id.badge);
我获得了NullPointer Exception.Anyone可以帮助我吗?
答案 0 :(得分:2)
您需要先创建菜单:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the navigation_menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.navigation_menu, menu);
return true;
}
如果你想更新菜单,你应该在: 的 onPrepareOptionsMenu 强>
如果您希望再次调用 onPrepareOptionsMenu 功能,可以调用 invalidateOptionsMenu ();
答案 1 :(得分:0)
您还可以添加代码
中的项目@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem item = menu.add("Badge");MenuItemCompat.setActionView(item, R.layout.feed_update_count);
return true;
}