要获取Android中开关按钮的动作而不是选中的导航项,您可以使用以下步骤和代码示例:
public class MainActivity extends AppCompatActivity {
private SwitchCompat switchButton;
private DrawerLayout drawerLayout;
private NavigationView navigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
switchButton = findViewById(R.id.switchButton);
drawerLayout = findViewById(R.id.drawerLayout);
navigationView = findViewById(R.id.navigationView);
switchButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
// 开关按钮被选中,执行相应的操作
Toast.makeText(MainActivity.this, "Switch is ON", Toast.LENGTH_SHORT).show();
} else {
// 开关按钮未被选中,执行相应的操作
Toast.makeText(MainActivity.this, "Switch is OFF", Toast.LENGTH_SHORT).show();
}
}
});
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
// 处理导航项被选中的操作
drawerLayout.closeDrawer(GravityCompat.START);
return true;
}
});
}
}
在上述代码中,我们使用setOnCheckedChangeListener方法为开关按钮添加了一个监听器,在按钮状态更改时触发相应的操作。请根据您的需求修改代码以执行适当的操作。