2017-08-03 71 views
0

我開發了應用程序,我已經集成了​​。現在我在谷歌地圖上設置了這麼多的針腳。當我點擊任何引腳時,該引腳的細節將顯示在一個對話框中。這一切都工作完美。這是images

問題是: -當我點擊一個任何標記,然後對話框打開,但是當我點擊第二個標記,然後第一次解僱被解僱。再次點擊那個標記對話框將會打開,但是我想打開一個新的對話框,點擊任一個。這是可能的,每當我點擊任何標記(看圖像),那麼相關標記(意味着數據)對話框將立即打開?當對話框已經打開時點擊背景佈局

我嘗試了這個dialog.setCanceledOnTouchOutside(true);,但它只是關閉對話框時,我點擊對話框佈局的一面。

在此先感謝和幫助將非常感激。

這是對話的方法,我可以當你使用對話框然後View是在主佈局添加,所以你不能在後臺點擊打開的對話框

Dialog mapMarkerDialog = null; 
private void showMapMarkerDialog(Marker marker) 
    { 
     try 
     { 
      mapMarkerDialog = new Dialog(activity, android.R.style.Theme_Translucent_NoTitleBar); 
      mapMarkerDialog.setContentView(R.layout.dialog_map_info_window); 
      mapMarkerDialog.setCanceledOnTouchOutside(true); 

      RelativeLayout llMapClubDetailTop = (RelativeLayout)mapMarkerDialog.findViewById(R.id.llMapClubDetailTop); 
      LinearLayout llMapClubDetail = (LinearLayout)mapMarkerDialog.findViewById(R.id.llMapClubDetail); 

      ImageView imgMapDialogClubImage = (ImageView)mapMarkerDialog.findViewById(R.id.imgMapDialogClubImage); 
      TextView txtMapDialogClubName = (TextView)mapMarkerDialog.findViewById(R.id.txtMapDialogClubName); 
      TextView txtMapDialogClubLocation = (TextView)mapMarkerDialog.findViewById(R.id.txtMapDialogClubLocation); 
      TextView txtMapDialogClubDiscount = (TextView)mapMarkerDialog.findViewById(R.id.txtMapDialogClubDiscount); 


      llMapClubDetail.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        mapMarkerDialog.dismiss(); 
        mapMarkerDialog.cancel(); 
        //start new activity 
       } 
      }); 


      mapMarkerDialog.show(); 
     } 
     catch (Exception e) 
     { 
      Log.e(TAG, "***Error while call showMapMarkerDialog() method"); 
      e.printStackTrace(); 
     } 
    } 
+0

而不是對話框使用ViewGroup來顯示這些信息。您可以使用可見性屬性顯示和隱藏ViewGroup。 –

+0

@SureshKumar感謝您的回覆,但您能否提供更多關於'ViewGroup'的信息? – Ninja

+0

使用'彈出窗口'而不是對話框。 – Shailesh

回答

1

。在打開新視圖之前,您必須先刪除View(對話框)。當你需要做這種類型的功能時,我建議你使用Popup Window,這樣你可以顯示任意的視圖。

請嘗試下面的代碼。這僅用於顯示彈出窗口,只有您可以根據您的要求使用。

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View popuplayoutReject = inflater.inflate(R.layout.your_view, null); 

final PopupWindow popUpReject = new PopupWindow(popuplayoutReject, WindowManager.LayoutParams.FILL_PARENT, 
     WindowManager.LayoutParams.WRAP_CONTENT, false); 

popUpReject.setOutsideTouchable(true); 

popUpReject.showAtLocation(popuplayoutReject, Gravity.BOTTOM, 0, 0); 
+0

它的作品魅力。你能再詳細介紹一下嗎? – Ninja