2012-12-27 69 views
0

我有兩個活動,在activityA我有一個圖標,單擊該圖標我發送意向到其他activityB,這是調用Facebook頁面(自定義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 = ProgressDialog.show(CityAttractions.this, "","Please wait...", true); 
          dialog.show(); 
         } 
        }); 

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

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

     }); 

    } 

問題是發佈或取消fbdailog後,progressdailog仍清晰可見,我怎麼能拒絕來自activityAprogreessdailog。任何幫助表示讚賞

+0

可以使用dialog.dismiss();在startActivity之後。 –

回答

0

在ActivityA的onActivityResult()做:

if (dialog != null) { 
    dialog.dismiss(); 
} 
+0

@ David..so不需要在onActivityResult()中設置任何值? – teekib

+0

對不起,我不明白你的問題。你使用'startActivityForResult()'開始'ShareOnFacebook'活動。這會導致您的活動「等待」,直到「ShareOnFacebook」活動完成。發生這種情況時,您的活動將獲得onActivityResult()回調。這是您瞭解「ShareOnFacebook」活動已完成的位置,因此您可以關閉進度對話框。 –

+0

yeahh ... itz工作......但問題是,微調不旋轉,因爲它在Uithread上運行...有什麼辦法讓微調旋轉? – teekib