2017-03-21 8 views
0

リストアイテムを使って簡単なポップアップを作成しましたが、グリッドアイテムをクリックすると、このようなページの上部にポップアップが表示されますenter image description hereすべて私はこのポップアップを表示したいアイテムのグリッドの下 これは、これはあなたがこの行を変更する必要があり、私のmenu.xmlトップにポップアップを表示

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/newCheck" 
     android:title="New Check"/> 

    <item 
     android:id="@+id/settleCheck" 
     android:title="Settle Check"/> 

    <item 
     android:id="@+id/newGuestCheck" 
     android:title="New guest Check"/> 

    <item 
     android:id="@+id/discountCheck" 
     android:title="Discount Check"/> 

    <item 
     android:id="@+id/printCheck" 
     android:title="Print Check"/> 

</menu> 
+0

「PopupMenu popup = new PopupMenu(getActivity()、view));」を「PopupMenu popup = new PopupMenu(getActivity()、view);」に変更するとどうなりますか? – mic4ael

+0

@ mic4aelありがとうalot broそれは今うまく動作します:) –

+0

PopupMenuを 'gridView1'にアンカーしているように見えますが、あなたが望むacutal' view'オブジェクトではありません。 –

答えて

1

である私のonClick

gridView1.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
    @Override 
    public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { 
     //Creating the instance of PopupMenu 
     PopupMenu popup = new PopupMenu(getActivity(), gridView1); 
     //Inflating the Popup using xml file 
     popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu()); 
     //registering popup with OnMenuItemClickListener 
     popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
      @Override 
      public boolean onMenuItemClick(MenuItem item) { 
       Toast.makeText(
         getActivity(), 
         "You Clicked : " + item.getTitle(), 
         Toast.LENGTH_SHORT 
       ).show(); 
       return true; 
      } 
     }); 

     popup.show(); //showing popup menu 
     return true; 

    } 
}); 

ある

PopupMenu popup = new PopupMenu(getActivity(), gridView1); 
この

PopupMenu popup = new PopupMenu(getActivity(), view); 

から

ので、それは適切な要素へのメニューのためのアンカーを設定します。

関連する問題