I have this code, this works perfect. Only i want to make this dynamic without the xml file(actions.xml). How do i do that?
public void showPopup(View v) {
PopupMenu popup = new PopupMenu(this, v);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.actions, popup.getMenu());
popup.show();
}
Use popup.getMenu()
and then add items directly using the various overloads of add
.
in the xml file remove unused items (just to implement menu theme). So, it'll be like :
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:theme="@style/AppTheme" />
then use getMenu
to add new menu items as below:
Button btn1= (Button) findViewById(R.id.btn_test);
PopupMenu popup = new PopupMenu(yourFormName.this, btn1);
//Inflating the Popup using xml file
popup.getMenu().add("Menu1 Label");
popup.getMenu().add("Menu2 Label");
popup.getMenuInflater().inflate(R.menu.YourXMLFileName, popup.getMenu());
//registering popup with OnMenuItemClickListener
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
//---your menu item action goes here ....
Toast.makeText(DisplayTransactions.this,"You Clicked : " + item.getTitle(),Toast.LENGTH_SHORT).show();
return true;
}
});
popup.show();//showing popup menu
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With