I click on Button5 long click. The context menu appears (Rename, Delete).
I choose to rename and call for example the editButton(button) method and change the label on the button. So I can not figure out how to get Button5 in the method public boolean onContextItemSelected(MenuItem item) ?
public class MainActivity extends Activity { Button[] buttons = new Button[10]; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); createButtons(); for (int i = 0; i < buttons.length; i++) { registerForContextMenu(buttons[i]); } } public void createButtons() { LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linearLayout); for (int i = 0; i < buttons.length; i++) { buttons[i] = new Button(this); buttons[i].setId(i); buttons[i].setText("Button " + (i + 1)); linearLayout.addView(buttons[i]); } } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); getMenuInflater().inflate(R.menu.menu, menu); } @Override public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); switch (item.getItemId()) { case R.id.edit: //Todo //ΠΠ°ΠΊ Π·Π΄Π΅ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ "Button5" Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΆΠ°Π»ΠΈ????? //edit(button); Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΆΠ°Π»ΠΈ Π΄Π»ΠΈΠ½Π½ΡΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ break; case R.id.delete: break; default: return super.onContextItemSelected(item); } return true; } }

MenuItemclass has a getActionView () method - pavlofffgetActionView()returns only theView, previously set by thesetActionView()method, it does not fit here. - pavlofff