Java 在视图中读取
我正在制作一个自定义的Java 在视图中读取,java,android,view,Java,Android,View,我正在制作一个自定义的ImageView。其中一种方法是从URL加载图像。我想在线程中检索位图,并在UI线程中加载位图 如何调用runOnUIThread()来绘制位图 是否有某种内置功能?或者我应该在构造函数中创建一个处理程序,并将其用于在UI线程中运行runnables吗?通过AsyncTask下载映像,并在其onPostExecute方法中设置为您的视图 或 从单独的图像下载线程使用View的post方法,该方法将始终在UI线程上运行其Runnable: 创建从AsyncTask扩展的类。
ImageView
。其中一种方法是从URL加载图像。我想在线程中检索位图,并在UI线程中加载位图
如何调用runOnUIThread()
来绘制位图
是否有某种内置功能?或者我应该在构造函数中创建一个
处理程序
,并将其用于在UI线程中运行runnables吗?通过AsyncTask
下载映像,并在其onPostExecute方法中设置为您的视图
或
从单独的图像下载线程使用View
的post方法,该方法将始终在UI线程上运行其Runnable
:
创建从AsyncTask扩展的类。在构造函数中传递ImageView。在doInBackground方法中,下载图像。在postExecute方法中,将图像设置为ImageView。您可以执行以下操作:
new Thread(new Runnable() {
public void run() {
final Bitmap bm = getBitmapFromURL(myStation.getStation().imageURL);
((Activity) context).runOnUiThread(new Runnable() {
public void run() {
icon.setImageBitmap(bm);
}
});
}
}).start();
这将在活动之外工作,如在ListAdapter中。使用处理程序。如果我没有弄错的话,runOnUIThread是一种活动方式。请阅读cyrilchampier在评论中发布的链接。谢谢
new Thread(new Runnable() {
public void run() {
final Bitmap bm = getBitmapFromURL(myStation.getStation().imageURL);
((Activity) context).runOnUiThread(new Runnable() {
public void run() {
icon.setImageBitmap(bm);
}
});
}
}).start();