[英]Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference
[英]android.content.Context.getSystemService(java.lang.String)' on a null object reference
当单击“列表视图”上的按钮时,我想使用“推送通知”。 但是有错误。
'ListViewAdapter'
public class ListViewAdapter extends BaseAdapter{
private Context con;
public ListViewAdapter(Context con) {
this.con = con;
getData("http://117.17.158.240/test/GpsSender.php");
}
....
...
@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
final int pos = position;
final Context context = parent.getContext();
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(com.satt.mjbus.R.layout.listview_item, parent, false);
}
final ImageButton btn = (ImageButton)convertView.findViewById(com.satt.mjbus.R.id.button);
btn.setTag(position);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int poss = (Integer) v.getTag();
int check_num = 0;
btn.setSelected(true);
if (check_num == 0) {
btn.setSelected(true);
check_num = 1;
} else if (check_num == 1) {
btn.setSelected(false);
check_num = 0;
}
NotificationManager notificationManager = (NotificationManager) con.getSystemService(con.NOTIFICATION_SERVICE);
Intent intent1 = new Intent(con.getApplicationContext(), ListViewAdapter.class);
Notification.Builder builder = new Notification.Builder(con.getApplicationContext());
intent1.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingNotificationIntent = PendingIntent.getActivity(con, 0, intent1, PendingIntent.FLAG_UPDATE_CURRENT);
builder.setSmallIcon(R.drawable.bus)
.setTicker("HETT")
.setWhen(System.currentTimeMillis())
.setNumber(1)
.setContentTitle("푸쉬 제목")
.setContentText("푸쉬내용")
.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE)
.setContentIntent(pendingNotificationIntent)
.setAutoCancel(true)
.setOngoing(true);
notificationManager.notify(1, builder.build());
}
});
btn.setFocusable(false);
....
}
我得到的错误是java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'java.lang.Object android.content.Context.getSystemService(java.lang.String)'
请帮助
替换此行代码
LayoutInflater inflater =
(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
与
LayoutInflater inflater =
(LayoutInflater) con.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
替换LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
与
LayoutInflater inflater =(LayoutInflater)con.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.