내 ProgressDialog는 oncreate 메소드에서 show()를 사용할 경우 작동합니다. 내가 비동기 작업에서 사용하는 경우 자사가 만들지에 있기 때문에진행 대화 상자가 레이아웃 onPreExecute() 위에 팽창합니까?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
pd = ProgressDialog.show(this, "Working", "Retreiving Neaby Restaurants", true, true); // initializes the progress dialog
pd.setCanceledOnTouchOutside(false); // on newer versions of android touching outside of the screen will close the dialog. I decided to make it only cancelable when the back button is pressed.
setContentView(R.layout.nearby_places_list);
그러나, 대화 코드가 늘 작동(). 가지 인자를 (이, "작업", "불러 오는 Neaby 레스토랑"사실, true)를 표시하는 것은에서 onCreate()의 외부에서만 허용 ARNT :
class MyAsync extends AsyncTask<Void, Integer, Boolean>{ // this task is for populating the listview
@Override
protected void onPreExecute() {
//ProgressDialog.show(context, "Working", "Retreiving Neaby Restaurants");
pd = ProgressDialog.show(this, "Working", "Retreiving Neaby Restaurants", true, true); // initializes the progress dialog
pd.setCanceledOnTouchOutside(false); // on newer versions of android touching outside of the screen will close the dialog. I decided to make it only cancelable when the back button is pressed.
}
이것은 시작에 내가 대화 상자를 보여주고 싶었 기 때문에 다소 열받은입니다 비동기 작업이 아니라 해당 작업이 호출되기 훨씬 전입니다.
내 질문에 어떻게 비동기 작업을 onPreExecute() 내 사용자가 실제로 비동기 작업을 사용하여 시작할 때까지() 표시 할 싶지 않아이 작업을 수행 할 수 있습니다.
완벽한 대답과 설명. 내가이 사이트에서 보는 데 익숙한 것이 아닙니다. 고맙습니다! –