2012-12-27 5 views
1

В моем приложении, когда я нажимаю на иконку, я реализовал размещения на фб dailog, но это занимает время, чтобы загрузить fbdailog, я использую progressDailog, код следующимAndroid: progressdailog не работает должным образом

ImageView faceBookIntegration = (ImageView) activity 
       .findViewById(R.id.facebookintegration); 
     faceBookIntegration.setOnTouchListener(new OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       Constants.isLayoutTouched = true; 
       switch (event.getAction()) { 
       case MotionEvent.ACTION_DOWN: { 

        CityAttractions.this.runOnUiThread(new Runnable() { 
         public void run() { 
          Dialog dialog = ProgressDialog.show(CityAttractions.this, "","Please wait...", true); 
          dialog.show(); 
         } 
        }); 

        Intent menuSettingsIntent = new Intent(CityAttractions.this, ShareOnFacebook.class); 
        menuSettingsIntent.putExtra("facebookMessage", "Msg"); 
        startActivity(new Intent(menuSettingsIntent).addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)); 


        break; 
       } 
       case MotionEvent.ACTION_MOVE: 
        break; 
       case MotionEvent.ACTION_UP: 
        break; 
       } 
       return false; 
      } 
     }); 
    } 

Перед тем, как я отменил fbdailog, я все еще вижу прогресс dailog, как закрыть progressdailog. после того как fb dailog сделан Любая помощь с благодарностью

+0

Возможно, вы можете сделать это в мероприятии action_down? – Gorets

+0

передайте любую переменную из вашего fbdialog и верните ее для проверки. и отклонить диалог –

+0

@ nick..Новым, чтобы это могло у вас предложить мне, как это сделать? – teekib

ответ

0

Эй, вы делаете большую ошибку. ProgressDialog.show() создаст экземпляр ProgressDialog и покажет диалог. Вы назначаете тот же диалог другому диалогу и снова показываете его. Так он показывает двойное время.

Изменить код

Dialog dialog = ProgressDialog.show(CityAttractions.this, "","Please wait...", true); 

Теперь диалог будет иметь ссылку на ProgressDialog он показывал, и вы можете уволить только ваша задача выполнена.

+0

привет спасибо, я исправил его .. но все равно то же самое. – teekib

+0

я все еще вижу прогрессdailog после закрытия fbdailog..do ineed для вызова dialog.dismiss(); ??? – teekib

+0

Эй, это то, что я упомянул в своем ответе, что вам нужно вызвать dialog.dismiss(), как только ваша задача будет завершена. – TNR

0

Использование startActivityForResult вместо startActivity Попробуйте этот код

Intent menuSettingsIntent = new Intent(CityAttractions.this, ShareOnFacebook.class); 
       menuSettingsIntent.putExtra("facebookMessage", "Msg"); 
       startActivityForResult(new Intent(menuSettingsIntent).addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT), REQUEST_CODE); 

и переопределить onActivityResult

и закрыть диалоговое окно здесь. может это поможет вам

+0

у него уже есть один onActivityResult в своей деятельности .. я могу назвать это – teekib

+0

использовать другой requestCode для этого и использовать результат для этого запросаCode в onActivityResult –

+0

startActivityForResult (new Intent (menuSettingsIntent) .addFlags (Intent.FLAG_ACTIVITY_REORDER_TO_FRONT), 1); использовал этот – teekib

Смежные вопросы