2017-11-16 17 views
1

recyclerviewの最後または最後の行をクリックした場合を除いて正常に動作しているコードを使用しようとしましたが、popupWindowoffscreenを開きます。 recyclerviewの終了行のビューのpopupWindowupSideを表示する方法はありますか。それを使用して、我々は我々が望む正確な位置を得ることができます> -popupWindowをドロップダウンとして表示する方法Recyclerviewのrow要素のonClick?

public void showPopup(View v, int _pos) { 

    LayoutInflater layoutInflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View popupView = layoutInflater.inflate(R.layout.popup_row_appointment_option, null); 

    popupWindow = new PopupWindow(
      popupView, 
      ViewGroup.LayoutParams.WRAP_CONTENT, 
      ViewGroup.LayoutParams.WRAP_CONTENT); 

    popupWindow.setBackgroundDrawable(new BitmapDrawable()); 
    popupWindow.setFocusable(true); 
    popupWindow.setOutsideTouchable(true); 
    popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { 
     @Override 
     public void onDismiss() { 
      //TODO do sth here on dismiss 
     } 
    }); 

    popupWindow.showAsDropDown(v, v.getScrollX(), v.getScrollY()); 

    tv_view_profile = (TextView) popupView.findViewById(R.id.tv_view_profile); 
    tv_view_profile.setOnClickListener(this); 
} 

Here is the screenshot of the problem I am facing. That popupWindow showing off Screen of the device.

+0

** showPopup **メソッド – Prem

+0

を呼び出すアダプタクラスを共有するこのメソッドを呼び出す場所から、アダプタの完全なコードを追加します。 –

+0

アダプタクラスから呼び出しています。私は、インターフェイスを使用して、自分のアクティビティクラスからその行の特定のビューのクリックリスナをトリガしています。代わりにpopupWindowのコードを共有することができます。以下に投稿してください。見てください。 – ranasaha

答えて

0

を私はAnchorViewを受け入れるのPopupMenuのために行くあなたをお勧めします:ここに は、私が使用していたコードですポップアップを表示する - >あなたはここで見る(3つのドットImageViewの)

としてAnchroViewを渡すことができ、それの良い例です:

https://www.javatpoint.com/android-popup-menu-example

また、材料 touch in menuを取得するには、Appcompatバージョンを使用してください。あなたは小さな変更であなたの定期的な流れに行くことができるカスタムレイアウトで[OK]を

-

popup.showAtLocation(anchorView, Gravity.BOTTOM, 0, 
       anchorView.getBottom() - 60); 

これは下の重力のための一例に過ぎません。あなたのコードに従って重力とマージンを設定することができます。

anchorView =このポップアップを表示するビューです。これを試して、質問があれば教えてください。

+0

あなたの提案をありがとうが、私はポップアップでカスタムレイアウトを使用する必要があります。だから私は私のレイアウトを使用することはできませんpopupMenuを使用する場合、私はしたくないmenu.xmlを使用する必要があります。ポップアップでpopupWindowを使ってカスタムレイアウトを展開する必要があります。 popupWindowを使ってそれを手伝ってもらえますか?またはカスタマイズされたポップアップを表示するための他の方法はありますか?私の場合、menu.xmlは私にとってはうまくいかないと思います。 – ranasaha

+0

編集した回答をもう一度確認し、ご不明な点がありましたらお知らせください。 –

+0

申し訳ありませんが、うまく機能しません。私も前にこれを試しました。私はそれが欲しいと思うように実際に働いていない。 – ranasaha

関連する問題