我尝试在我应用程序的最后一个标签中显示徽章通知。但是我每次都会得到Null Object Reference
,但我无法理解为什么或如何做。在这里,我附加了badge notification
代码行和TabLayout代码行。请帮我。我正在为我的应用程序使用VIewBadger
库。
用于徽章查看
tabs = (TabWidget) findViewById(android.R.id.tabs);
badge7 = new BadgeView(this, tabs, 1);
badge7.setBadgePosition(BadgeView.POSITION_TOP_RIGHT);
btnTab.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
badge7.toggle();
}
});
MY代码以在TabWidget中添加标签
TabSpec spec4 = tabHost.newTabSpec("Tab 4");
spec4.setIndicator("Logout",
getResources().getDrawable(R.drawable.custom_logout));
Intent in4 = new Intent(this, LogoutActivity.class);
spec4.setContent(in4);
TabSpec spec3 = tabHost.newTabSpec("Tab 5");
spec3.setIndicator("Chat", getResources().getDrawable(R.drawable.messaging)); // custom_logout logout_icon_test
Intent in5 = new Intent(this, ChatActivitylisting.class);
spec3.setContent(in5);
显示错误
由于:java.lang.NullPointerException:尝试调用虚拟 方法 'void android.view.ViewGroup.addView(android.view.View, android.view.ViewGroup $ LayoutParams)”上的空对象引用
答案 0 :(得分:0)
您确定这是正确的资源ID。
tabs = (TabWidget) findViewById(android.R.id.tabs);
答案 1 :(得分:0)
我发现了问题所在。我甚至在添加标签之前就声明了徽章。我应该在“ tabHost.addTab(“ YourTab1 ..”)”之后声明。