Что делает GoToShareActivity ()?
Если это еще одна ресурсоемкая операция, то диалоговое окно будет зависать.Это потому, что onPostExecute () работает в потоке пользовательского интерфейса.
У меня есть аналогичная программа, которая использует asynctask, как вы.Я попытался поместить свой onItemClickListener () в onPostExecute, но он не останавливает диалог, так как я не выполняю в нем никаких тяжелых процессов.Я понимаю ту часть, в которой вы хотите показать галерею пользователю после закрытия диалогового окна.
ОТВЕТ: Вы можете сделать gallery.setOnItemClickListener (), но фактическое выполнение onClick ()не быть там.
@Override
public void onCreate(Bundle savedInstanceState)
{
setContentView(R.layout.gallery); //place before your loadTask()
.
. //your other implementations
.
}
private OnItemClickListener galleryOnItemClickListener = new OnItemClickListener()
{
@Override
public void onClick(View v)
{
selected_image_position = position;
GoToShareActivity();
}
};
private class loadTask extends AsyncTask<String, Integer, String>
{
.
.
.
protected void onPostExecute(String result)
{
Log.v("SC", "Final Paths: " +paths.toString());
gallery = (Gallery)findViewById(R.id.gallery1);
gallery.setAdapter(new ImageAdapter(ActivityGallery.this));
gallery.setOnItemClickListener(galleryOnItemClickListener);
dialog.dismiss();
}
}