使用getLayoutInflater():無法在Android的
View uploadProgressView = getLayoutInflater().inflate(R.layout.view_upload_progress, null);
UploadProgressViewHolder viewHolder = new UploadProgressViewHolder(uploadProgressView, filename);
我可以使用getLayoutInflater()
但是當我改變extends Services
它不工作。
我是Stackoverflow
from this post研究和接收答案,並更改爲:
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View uploadProgressView = inflater.inflate(R.layout.view_upload_progress, null);
UploadProgressViewHolder viewHolder = new UploadProgressViewHolder(uploadProgressView, filename);
但它不工作,如何使用getLayoutInflater()
?
此拋出異常: java.lang.NullPointerException
CallRecordService.addUploadToList(CallRecordService.java:167) 錯誤在第一線LayoutInflater inflater = ......
Context context;
private void addUploadToList(String uploadID, String filename) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View uploadProgressView = inflater.inflate(R.layout.view_upload_progress, null);
UploadProgressViewHolder viewHolder = new UploadProgressViewHolder(uploadProgressView, filename);
viewHolder.uploadId = uploadID;
container.addView(viewHolder.itemView, 0);
uploadProgressHolders.put(uploadID, viewHolder);
}
爲什麼第二段代碼無法正常工作? – 0xDEADC0DE
你是什麼意思「但它不工作」?這是一個編譯錯誤?或者你得到空引用? –
*我改變擴展服務,它不工作*,這是預期的行爲。服務沒有UI – Blackbelt