第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在異步堆棧中加載位圖時(shí)出現(xiàn)問題

在異步堆棧中加載位圖時(shí)出現(xiàn)問題

動漫人物 2022-09-22 13:55:36
我成功地解析了xml,并從標(biāo)簽和屬性中獲取了文本和URL。文本我已成功設(shè)置到我的列表視圖中,但我無法將我的位圖加載到圖像視圖中。我想我忘記了一些小事,比如某個地方的轉(zhuǎn)換,或者我寫錯了AsyncTask。這是我的解析和異步任務(wù)調(diào)用:    private List<SomeItem> items = new ArrayList();listView = findViewById(R.id.listView);        IV = findViewById(R.id.iconsrc);        ArrayList<String> list = new ArrayList<>();        try {            XmlPullParser parser = getResources().getXml(R.xml.myxml);            while (parser.next() != XmlPullParser.END_DOCUMENT) {                tagname = parser.getName();                switch (parser.getEventType()){                    case XmlPullParser.START_TAG:                        if (tagname != null && tagname.equals(iconsrc)){                            iconsrcVALUE = parser.getAttributeValue(0);                            myBitmap = new AsyncForBitmap().execute(iconsrcVALUE).get();                            IV.setImageBitmap(myBitmap);                        }                        break;                    case XmlPullParser.TEXT :                        tagtext = parser.getText();                         break;                    case XmlPullParser.END_TAG:                        if (tagname != null && tagname.equals(displayname)) {                            programmes.add(new SomeItem(tagtext, myBitmap));                        }                        break;                }            }        } catch (Throwable t) {            Toast.makeText(this,                    "Error while loading xml document: " + t.toString(), Toast.LENGTH_LONG)                    .show();        }        SomeAdapter adapter = new SomeAdapter(this, R.layout.list_item, items);        listView.setAdapter(adapter);也許我必須在“執(zhí)行后”()方法上添加(覆蓋)?但是我需要在那里做什么呢?
查看完整描述

2 回答

?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個贊

您可以執(zhí)行一些操作,例如在構(gòu)造函數(shù)中將圖像視圖傳遞到異步任務(wù)中。為此,首先修改您的異步任務(wù),如下所示:


class AsyncForBitmap extends AsyncTask<String, Void, Bitmap> {


    private final ImageView mImageView;


    public AsyncForBitmap(ImageView imageView){

        mImageView = imageView;

    }


    private Exception exception;


    protected Bitmap doInBackground(String... urls) {

        try {

            URL url=new URL(urls[0]);

            Bitmap bitmap = BitmapFactory.decodeStream((InputStream)url.getContent());

            return bitmap;


        } catch (MalformedURLException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

        return null;

    }


    protected void onPostExecute(Bitmap bitmap){

        mImageView.setImageBitmap(bitmap);

    }


}

然后,只需執(zhí)行以下操作:


 ...

 case XmlPullParser.START_TAG:

     if (tagname != null && tagname.equals(iconsrc)){

        iconsrcVALUE = parser.getAttributeValue(0);

        new AsyncForBitmap(IV).execute(iconsrcVALUE);

     }

     break;


查看完整回答
反對 回復(fù) 2022-09-22
?
慕運(yùn)維8079593

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個贊

試試這個代碼


protected void onPostExecute(Bitmap bitmap) {

        runOnUiThread(new Runnable() {

            @Override

            public void run() {

                mImageView.setImageBitmap(bitmap);

            }

        });

}


查看完整回答
反對 回復(fù) 2022-09-22
  • 2 回答
  • 0 關(guān)注
  • 105 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號