evento onClick en el cajón de navegación
He creado un cajón de navegación en Android en el que quiero implementar onClick para ello. Esta es mi actividad principal:
public class MainActivity extends AppCompatActivity {
private DrawerLayout mDrawerLayout;
private ActionBarDrawerToggle aToggle;
private Toolbar toolbar;
private RecyclerView recyclerView;
private RecyclerAdapter recyclerAdapter;
private RecyclerView.Adapter adapter;
private NavigationView navigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer);
aToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.navig, R.string.open, R.string.Close);
navigationView = (NavigationView) findViewById(R.id.nav_view);
mDrawerLayout.addDrawerListener(aToggle);
toolbar = (Toolbar) findViewById(R.id.nav_action);
toolbar.setNavigationIcon(R.drawable.navig);
setSupportActionBar(toolbar);
aToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
navigationView.setItemIconTintList(null);
recyclerView = (RecyclerView) findViewById(R.id.recycler);
recyclerAdapter = new RecyclerAdapter(getApplicationContext());
RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this, 2);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(recyclerAdapter);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (aToggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}}
Este es mi diseño XML para la actividad:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.alpit.formula2.MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="0dp"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="58dp"
android:orientation="vertical"></android.support.v7.widget.RecyclerView>
<android.support.v7.widget.Toolbar
android:id="@+id/nav_action"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#EF6C00"
android:orientation="vertical"
android:theme="@style/ThemeOverlay.AppCompat.Dark"></android.support.v7.widget.Toolbar>
</RelativeLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#FFA726"
app:menu="@menu/navigation_menu"
app:theme="@style/NavigationTheme">
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
Estos son mis elementos de menú:
<group
android:id="@+id/gp1"
android:checkableBehavior="single">
<item
android:id="@+id/nav_maths"
android:icon="@drawable/maths"
android:title="Maths" />
<item
android:id="@+id/nav_physics"
android:icon="@drawable/physics"
android:title="Physics" />
<item
android:id="@+id/nav_chem"
android:icon="@drawable/chem"
android:title="Chemistry" />
<item
android:id="@+id/EEE"
android:icon="@drawable/lightbulb"
android:title="Electronics Electrical" />
</group>
<group
android:id="@+id/gp2"
android:checkableBehavior="single">
<item
android:id="@+id/unitconversion"
android:icon="@drawable/unitconversion"
android:title="Unit Conversion" />
<item
android:id="@+id/Scientist"
android:icon="@drawable/scientist"
android:title="Scientist" />
<item
android:id="@+id/favourite"
android:icon="@drawable/favourite"
android:title="Favourite" />
</group>
<group
android:id="@+id/gp3"
android:checkableBehavior="single">
<item
android:id="@+id/Share"
android:icon="@drawable/share"
android:title="Share" />
<item
android:id="@+id/Rate"
android:icon="@drawable/rate"
android:title="Rate" />
<item
android:id="@+id/ads"
android:icon="@drawable/ad"
android:title="Remove Ads" />
<item
android:id="@+id/aboutus"
android:icon="@drawable/aboutus"
android:title="About Us" />
</group>
</menu>
El problema es que no puedo entender cómo implementar elonClick
en el cajón de navegación, ya que está poblado por la lista dada por nosotros, no por ninguna listaView.
¿Cómo puedo implementaronClick
en los elementos del cajón de navegación?