2011-12-12 46 views
3

我使用Android HTML ImageGetter as AsyncTask中给出的方法将图像从html源文件加载到Textview中。这很好用,并且在下载图像时不会冻结UI。我遇到的问题是,当它获取图像时,会将它们绘制到TextView中,TextView不会调整大小,因此图像将出现在已存在的文本上,实际上会截断为TextView的当前大小(如果有许多图像,则使用包装内容进行设置)。如何在使用asynctask加载图像后调整TextView大小

我无法专门设置TextView的初始大小,因为我事先不知道是否会有图像,或者有多少个或什么大小。有关如何在图像加载后调整TextView大小的建议?

TextView在由自定义适配器处理的ListView中,如果它有任何区别的话。

哦,而我不只是使用WebView的原因是,因为它在一个自定义的行ListView中,可以有多达20行,并且我有许多WebViews一次处理的奇怪问题。

感谢

+0

为什么不使用imageView代替TextView? –

+0

我没有使用ImageView,因为该html还包含一些我需要显示的文本。文本是主要部分,但包含可选图像。 –

+0

Soo ...为什么不解析文本,然后将图像下载到imageview?它可能会让你的生活更轻松。 –

回答

0

宾果游戏,想我已经得到了它。

将TextView对象作为View传递给URLImageParser类,而不是将其作为TextView传递给URLImageParser类。这然后让我打电话给URLImageParser.this.container.setEllipsize(null);,这似乎是工作。

+2

'URLImageParser.this.container.setEllipsize(null);'解决方案适用于Android 2.x,但不适用于Android 4.x!有人有一个想法? – 2012-03-17 13:07:37

0

尝试this,应该工作。

例如:

(TextView).setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAPֹ_CONTENT, LayoutParams.WRAP_CONTENT)); 
+0

坦克的建议,在我发布的链接中的代码调用在容器上的无效(作为参数传递),似乎并没有工作,我也试过了,仍然没有运气。 (将布局类型更改为“相对”,就像TextView包含的那样)。 –

+1

宾果,想我已经明白了。 与其将TextView对象作为View传递给URLImageParser类,不如将其作为TextView传递给URLImageParser类。这然后允许我调用'URLImageParser.this.container.setEllipsize(null);',它似乎完成了这项工作。将它作为评论发布,因为它不会让我发布作为我自己问题的答案。稍后将使用此答案更新问题。 –

+0

这似乎是一个很好的方法。我认为我在评论中发表的方式问题较少,而且更详细。 –

相关问题