Когда я щелкаю пункт меню, я хочу сгенерировать context menu
с опциями, которые пользователь может выбрать. Но его бросок null pointer exception
.
# menu_main. xml #
<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"
tools:context="com.bremachitra.mynotepad.MainActivity">
<item
android:id="@+id/action_view"
android:title="View"
app:actionViewClass="android.widget.ImageButton" />
</menu>
MainActivity. java
if(id == R.id.action_view)
{
ImageButton viewButton = (ImageButton) findViewById(R.id.action_view);
registerForContextMenu(viewButton);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
Toast.makeText(this,"context",Toast.LENGTH_SHORT).show();
getMenuInflater().inflate(R.menu.menu_view,menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch(item.getItemId())
{
case R.id.action_grid:
Toast.makeText(this,"grid view",Toast.LENGTH_SHORT).show();
return true;
case R.id.action_list:
Toast.makeText(this,"List view",Toast.LENGTH_SHORT).show();
return true;
default:
return super.onContextItemSelected(item);
}