Если вы действительно хотите сделать это по какой-либо причине ... (в моем случае, из-за лени)
Во время onCreate
вашей активности или где-то, прежде чем ваш пользователь сможет нажать кнопку, сделайте registerForContextMenu
на этой кнопке.Затем в фактической кнопке обработчика onClick вызовите openContextMenu(View)
.
Например, у меня есть кнопка, объявленная в xml, как
<Button
android:id="@+id/btn_help"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onHelp"
android:text="@string/help_btn_text" />
в моем onCreate
registerForContextMenu(findViewById(R.id.btn_help));
и в функции onHelp
public void onHelp(View v) {
openContextMenu(v);
}
это работает, потому что View v совпадает с представлением, зарегистрированным для контекстного меню.