Прежде всего, извините за не очень описательный заголовок.
У меня есть следующий код, который не работает должным образом (или как я хотел).
Несмотря на то, что я вызываю «Отмена ()», время продолжается ...
private boolean cancelled;
private synchronized Bitmap renderBitmap(PatchInputStream pis){
File file = new File(Environment.getExternalStorageDirectory()+url);
FileOutputStream fos=new FileOutputStream(file);
byte buf[]=new byte[2000];
int len;
while((len=pis.read(buf))>0 && !isCancelled() ){
fos.write(buf,0,len);
}
fos.close();
if (isCancelled()){
cancelled=false;
return null;
}
Bitmap bm = saveBitmapToFile(file);
return bm;
}
public boolean isCancelled(){
return cancelled;
}
public void Cancel(){
cancelled=true;
}
Что не так с этим кодом?Я что-то упустил?