@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // view toolbar = (Toolbar) findViewById(R.id.app_bar); setSupportActionBar(toolbar); // view grid = (GridView) findViewById(R.id.all_room_container); // Menu---------------------------- TextView addThing = (TextView) findViewById(R.id.add_room); addThing.setText("Add device "); items.add(new GridItem("Light", R.mipmap.r_light, R.mipmap.light, GridItem.ItemType.Light)); // Instance of ImageAdapter Class grid.setAdapter(new GridItemAdapter(this, items, this)); FloatingActionButton b0 = new FloatingActionButton(this); final List<FloatingActionButton> button = Arrays.asList(b0); ScrollView menu_container = (ScrollView) findViewById(R.id.fab_menu_container); // FAB_menu----- FloatingActionsMenu fab = new FloatingActionsMenu(this); menu_container.addView(fab); // -----FAB_menu [end] for (final FloatingActionButton b : button) { final GridItem current = items.get(button.indexOf(b)); // b.setTitle(String.valueOf(current.name)); b.setIcon(current.resIconId); b.setColorNormal(Color.parseColor("#FFFFFF")); b.setTag(current.type); fab.addButton(button.get(button.indexOf(b))); b.setOnClickListener( new View.OnClickListener() { @Override public void onClick(final View v) { AlertDialog dialogInputText = new AlertDialog.Builder(DeviceCategoriesActivity.this).create(); // dialogInputText.setTitle("Add " + String.valueOf(current.name)); dialogInputText.setTitle(String.valueOf(current.type)); View dialogView = getLayoutInflater().inflate(R.layout.dialog_input_text_device, null); final EditText dialogTextName = (EditText) dialogView.findViewById(R.id.dialog_text_name); dialogInputText.setView(dialogView); dialogInputText.setButton( "OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // grid type GridItem.ItemType type = current.type; String name = dialogTextName.getText().toString(); // add gridItem with correct icon GridItem toBeAdded = addRoom(name, type); // badge Type ++ ((GridItemAdapter) grid.getAdapter()).items.get(button.indexOf(b)).badge++; ((GridItemAdapter) grid.getAdapter()).notifyDataSetChanged(); // item Type add ((WirelessHomeApplication) getApplication()) .roomRepository.addRoom(toBeAdded); Toast.makeText( DeviceCategoriesActivity.this, grid.getChildAt(button.indexOf(b)).getTag() + " successfully created", Toast.LENGTH_LONG) .show(); } }); dialogInputText.show(); } }); } // ----------------------------Menu [end] }