Html.fromHtml
을 사용하여 이미지가 포함 된 HTML 텍스트를 변환하려고 시도 중이며 ListView 내부에 이미지를 설정했지만 이미지가 사각형으로 나타납니다! 나는 imageGetter을 구현하고 또한 내가Android의 스팬 이미지 목록보기
StrictMode.ThreadPolicy 정책 = 새로운 StrictMode.ThreadPolicy.Builder()를 설정 permitAll() 구축()..; StrictMode.setThreadPolicy (policy);
여기 android.os.NetworkOnMainThreadException
피하기 위해 내 코드입니다 :
이public ImageGetter getImageHTML(){
ImageGetter ig = new ImageGetter(){
public Drawable getDrawable(String source) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy);
try{
Drawable d = Drawable.createFromStream(new URL(source).openStream(), "src name");
d.setBounds(0, 0, d.getIntrinsicWidth(),d.getIntrinsicHeight());
return d;
}catch(IOException e){
Log.v("IOException",e.getMessage());
return null;
}
}
};
return ig;
}
누군가가 나를 도울 수 있습니다 : 여기
private class MyTask extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... arg0) {
try {
URL rssUrl = new URL(link);
SAXParserFactory mySAXParserFactory = SAXParserFactory.newInstance();
SAXParser mySAXParser = mySAXParserFactory.newSAXParser();
XMLReader myXMLReader = mySAXParser.getXMLReader();
RSSHandler myRSSHandler = new RSSHandler();
myXMLReader.setContentHandler(myRSSHandler);
InputSource myInputSource = new InputSource(rssUrl.openStream());
myXMLReader.parse(myInputSource);
myRssFeed = myRSSHandler.getFeed();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
if (myRssFeed!=null)
{
List<Map<String, String>> data = new ArrayList<Map<String, String>>();
for (RSSItem item : myRssFeed.getList()) {
Spanned span = Html.fromHtml(item.getDescription().toString(), getImageHTML(), null);
Map<String, String> datum = new HashMap<String, String>(0);
datum.put("title", item.getTitle());
datum.put("desc", span.toString());
data.add(datum);
}
SimpleAdapter adapter2 = new SimpleAdapter(getApplicationContext(), data, R.layout.listview, new String[] {"title", "desc"}, new int[] {R.id.text1,
R.id.text2});
setListAdapter(adapter2);
그리고이 ImageGetter입니까?
에 코드 위의 이동? 더 이상 당신은 지금까지 무엇을 시도 했습니까? –
방금 새 정보로 내 게시물을 업데이트했습니다! ImageGetter를 구현할 수 있기 때문에 몇 가지 변경 사항이 존중되지만, 작동하지 않는 것 같습니다! –