私のアプリでカスタムナビドロワーを使用しています。私はそれぞれのボタンにsetOnClickListenerを使用しています。しかし、毎回各アクティビティで同じコードが読み込まれるため、多くのメモリを消費する可能性があると私は考えています。そこで、スイッチケースのようなメニューのためにクリックリスナーで処理する効率的な方法はありますか?カスタムナビドロワーのsetOnClickListenerのベストプラクティス
nav-itemクリックのためのマイコード。
Button oneButton = (Button) findViewById(R.id.nav_one);
Button twoButton = (Button) findViewById(R.id.nav_two);
Button threeButton = (Button) findViewById(R.id.nav_three);
Button fourButton = (Button) findViewById(R.id.nav_four);
Button fiveeButton = (Button) findViewById(R.id.nav_five);
oneButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
Intent firstIntent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(firstIntent);
}
});
twoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
Intent secondIntent = new Intent(getApplicationContext(), SecondActivity.class);
startActivity(secondIntent);
}
});
threeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
Intent threeButton = new Intent(getApplicationContext(), ThirdActivity.class);
startActivity(thirdIntent);
}
});
threeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
Intent fourButton = new Intent(getApplicationContext(), FouthActivity.class);
startActivity(fourthIntent);
}
});
fourButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
Intent fiveButton = new Intent(getApplicationContext(), FifthouthActivity.class);
startActivity(fifthIntent);
}
});
は、あなたが何を意味する「それぞれの活動を」コードスニペット – Anil
を投稿? NavDrawerは* 1つのアクティビティのフラグメントを切り替える必要があります* –
メニューを作成するために、すべてのアクティビティにクリックリスナを配置する必要があります。 @ cricket_007 –