java - 我有三个开关按钮,如果一个开关按钮处于活动状态,那么其他两个开关按钮应该保持不活动或禁用
问题描述
我是android的初学者我需要一些想法来解决我的疑问,我的疑问是当一个开关按钮处于活动状态时,其他两个开关按钮应该保持不活动或禁用我们如何执行此活动有人可以提供我任何想法...?我刚刚插入了开关按钮,我应该如何执行此任务。
我只是在android编程中使用了相对布局
我的源代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openThird();
}
});
btnswitch=(Switch)findViewById(R.id.switch1);
btnswitch=(Switch)findViewById(R.id.switch2);
btnswitch=(Switch)findViewById(R.id.switch3);
}
public void openThird()
{
Intent toy=new Intent(this,Third.class);
startActivity(toy);
}
引导我完成这个。
解决方案
首先,您将三个不同的 gui 元素(您的Switch
es)分配给您的同一个 java 变量/类属性Activity
,这意味着实际上只能在您的代码中处理最后一个定义。
不要做
btnswitch = (Switch)findViewById(R.id.switch1);
btnswitch = (Switch)findViewById(R.id.switch2);
btnswitch = (Switch)findViewById(R.id.switch3);
相反,为您的活动提供更多类属性以分别处理Switch
每个
btnswitchOne = (Switch)findViewById(R.id.switch1);
btnswitchTwo = (Switch)findViewById(R.id.switch2);
btnswitchThree = (Switch)findViewById(R.id.switch3);
然后向它们添加侦听器(仅第一个示例):
btnSwitchOne.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// do your desired action on switch on/off
if (isChecked) {
// if the first switch gets checked, uncheck the others
btnSwitchTwo.setChecked(false);
btnSwitchThree.setChecked(false);
} else {
/* since you are switching them off by code depending on other's state,
* either skip the else-block entirely or print some debug messages
*/
}
}
});
推荐阅读
- c - 在 for 循环期间未分配数组的浮点值(STM32 / arm-none-eabi-gcc)
- ios - 如果未显示所有 NavigationLink,则 NavigationView 中 SwiftUI 的 NavigationLink `tag` 和 `selection` 将停止工作
- node.js - 我得到了 Vue 版本,但它不在任何 npm 列表中
- apache-spark - PySpark 中的 MulticlassClassificationEvaluator 和 MultilabelClassificationEvaluator 有什么区别?
- python - 如何从数据框中的所有列中删除某个值?
- python-3.x - 对 __init__ 的使用感到困惑
- ruby-on-rails - 如何在 Rails 6.1.4 中使用数据表?
- java - 我正在尝试将工具栏菜单添加到我的应用程序,但当我登录时应用程序崩溃。我该如何解决这个问题?
- java - 如何检查给定的输入流(zip 文件)是否受密码保护或不使用 java?
- python - python导入almentation包失败