您好我需要一些非常简单的问题的帮助。当我点击我创建的第二个按钮时,我的应用程序崩溃了。
据我所知,当我点击按钮时应用程序认为没有任何对象,但我相信它都标记正确。看一看。
这些是崩溃应用程序的所有组件:
NotificationCompat.Builder notification_shot;
public void clk_shot(View v) {
//Shot Build
**notification_shot.setSmallIcon(R.drawable.ic_shot);
notification_shot.setWhen(System.currentTimeMillis());
notification_shot.setContentTitle("drink up");
notification_shot.setContentText("cheers");
notification_shot.setLights(0xffffff00, 1000, 3000);
notification_shot.setAutoCancel(false);
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
notification_shot.setContentIntent(pendingIntent);
}
调试报告中的我得到了这一行
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.support.v4.app.NotificationCompat$Builder android.support.v4.app.NotificationCompat$Builder.setSmallIcon(int)' on a null object reference
at com.weibapps.test.icons.MainActivity.clk_shot(MainActivity.java:58)
第58行在我的上述代码中标有**
它旁边有一个小图标,我相信这意味着应用程序知道要拉什么图标。任何帮助将不胜感激。
这是我的第二个按钮非常好。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
notification_mari = new NotificationCompat.Builder(this);
notification_mari.setAutoCancel(false);
}
public void clk_mari(View view) {
//Mari Build
notification_mari.setSmallIcon(R.drawable.ic_mari);
notification_mari.setWhen(System.currentTimeMillis());
notification_mari.setContentTitle("light");
notification_mari.setContentText("up");
notification_mari.setLights(0xff00ff00, 500, 500);
//End Build Components
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
notification_mari.setContentIntent(pendingIntent);
//has intent
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nm.notify(uniqueID, notification_mari.build());
}
非常感谢任何帮助。我搜索过但实际上还没有找到这个具体问题的答案。