我用this,以顯示從因特網上的圖像,但它會引發錯誤如下:
04-12 13:45:05.337:E/AndroidRuntime(27897):機器人:致.view.ViewRootImpl $ CalledFromWrongThreadException:只有創建視圖層次結構的原始線程可以觸及其視圖。
public class Order extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new DownloadFilesTask().execute();
}
private class DownloadFilesTask extends AsyncTask<Void, Void, Void> {
protected void onPostExecute(Void result) {
}
@Override
protected Void doInBackground(Void... params) {
setContentView(R.layout.order);
ImageView imageView = (ImageView)findViewById(R.id.imgView);
imageView.setImageDrawable(createDrawableFromURL("http://savagelook.com/misc/sl_drop2.png"));
return null;
}
}
private Drawable createDrawableFromURL(String urlString) {
Drawable image = null;
try {
URL url = new URL(urlString);
InputStream is = (InputStream)url.getContent();
image = Drawable.createFromStream(is, "src");
} catch (MalformedURLException e) {
image = null;
} catch (IOException e) {
image = null;
}
return image;
}
}
請參閱「線程處理」 http://www.techotopia.com /index.php/A_Basic_Overview_of_Android_Threads_and_Thread_handlers – samosaris 2013-05-08 16:08:54
在Mono中,使用RunOnUiThread ... RunOnUiThread(()=> {_tvMessage.Text =「Loading ...」;}); http://mono-for-android.1047100.n5.nabble.com/Can-t-create-handler-inside-thread-sync-problem-why-td5710999.html – samosaris 2013-05-08 17:19:22