У меня есть вид, который получает жесты смахивания.это должно инициировать создание и setContentView (макет) для основной деятельности.(Представление находится внутри макета в основном действии)
Когда я пытаюсь сделать это в асинхронной задаче, он пропускает все изображения для макета?как будто это еще не закончено.Есть кое-что, чего я не до конца понимаю.
это частичный код из view.java
Main.mHandler.post(new Runnable()
{
public void run()
{
new Main.GetNavigationLayout().execute(url);
}
});
URL-адрес - это местоположение .xmlфайл, который я использую для создания нового макета.
GetNavigationLayout - это код AsyncTask
, который является AsyncTask в Main.java:
public static class GetNavigationLayout extends AsyncTask<String, Void, CustomLayout> {
boolean isDone = false;
@Override
protected EvadoLayout doInBackground(String... url)
{
CustomLayout layout = new CustomLayout(Main);
Looper.prepare();
try
{
String newpage = url[0];
Document doc = XmlImporter.GetNewPlayer(newpage);
if (doc == null)
{
layout = null;
}
layout.LoadXml(doc); // cause drawing of objects etc.
}
catch (Exception e)
{
e.printStackTrace();
}
isDone = true;
//Looper.loop(); // causes it to never return...
return layout;
}
@Override
protected void onPostExecute(CustomLayout layout)
{
if (isDone)
Main.setContentView(layout);
}
}
теперь это показывает все, кроме изображенийтогда как, если я запускаю это без AsyncTask, он отображает все в макете.что мне не хватает?