当前位置: 首页 > backend >正文

android studio开关控制

MainActivity.java代码:

package com.example.myapplication;import android.os.Bundle;
import android.util.Log;
import android.widget.Switch;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {private Switch mySwitch;private TextView statusText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mySwitch = findViewById(R.id.my_switch);statusText = findViewById(R.id.status_text);// 设置监听器mySwitch.setOnCheckedChangeListener((buttonView, isChecked) -> {Log.d("SwitchLog", "buttonView: " + isChecked);switch (isChecked ? 1 : 0) {case 1:statusText.setText("当前状态:开启");break;case 0:statusText.setText("当前状态:关闭");break;}});}
}
activity_main.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"android:padding="24dp"><Switchandroid:id="@+id/my_switch"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="开关控制" /><TextViewandroid:id="@+id/status_text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="当前状态:关闭"android:layout_marginTop="16dp"android:textSize="18sp" />
</LinearLayout>

运行结果:

综上可得:

控件:

Switch

工具:android studio

软件:Windows11

Switch监听器:

setOnCheckedChangeListener

Log.d日志打印:

Log.d("SwitchLog", "buttonView: " + isChecked);mySwitch = findViewById(R.id.my_switch);
mySwitch.setOnCheckedChangeListener((buttonView, isChecked) -> {Log.d("SwitchLog", "buttonView: " + isChecked);switch (isChecked ? 1 : 0) {case 1:statusText.setText("当前状态:开启");break;case 0:statusText.setText("当前状态:关闭");break;}});

xml:

<Switchandroid:id="@+id/my_switch"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="开关控制" />
java的tatusText.setText("当前状态:开启");可以更新xml的TextView控件的android:text内容

其中

tatusText即为statusText = findViewById(R.id.status_text);
http://www.xdnf.cn/news/13618.html

相关文章:

  • 小知识点二:无刷电机开环控制
  • 创建型设计模式
  • linux系统实时监控top命令
  • Spring Boot 完整教程 - 从入门到精通(全面版)
  • 鹰盾视频加密器播放器倍速播放中变速不变声的技术原理解析
  • 开源生态新势能: 驱动国产 DevSecOps 与 AI 工程新进展
  • DeepSeek-R1与Claude 4.0 Sonnet:开源与闭源大模型的商业生态博弈
  • 快速生成树协议(RSTP)深度解析
  • 基于 tinyfsm 的状态机
  • 未来智能设备的三大核心能力:自检测、自修复与自决策
  • 套接字类型与协议设置
  • 微信小程序之页面跳转(路由),navigateTo redirectTo reLaunch
  • 大型语言模型的中毒攻击的系统评价
  • 一款自制的OpenMV4模块
  • 网络原理8 - HTTP协议1
  • QDialog的show()方法与exec_()方法的区别详解
  • C#.Net 使用NPOI库导出Excel(含列宽度自适应) 及 根据Excel文件生成DataTable
  • 【多智能体】基于嵌套进化算法的多代理工作流
  • 硬件学习笔记--67 接线端子压缩比相关要求
  • Python实战:高效连接与操作Elasticsearch的完整指南
  • 知名开源项目被收购,用户发现项目被“投毒”
  • 【自考】《计算机信息管理课程实验(课程代码:11393)》华师自考实践考核题型解析说明:C++ 与 mysql 实践题型与工具实践题分析
  • 火山引擎 veFuser:面向扩散模型的图像与视频生成推理服务框架
  • 机器学习四剑客:Numpy、Pandas、PIL、Matplotlib 完全指南
  • 【大模型训练】allgatherEP 过程及reduce-scatter的具体例子
  • 使用Docker申请Let‘s Encrypt证书
  • xilinx的GT配置说明(二)
  • 【HTTP重定向与缓存机制详解】
  • 芯伯乐XBLW GT712选型及应用设计指南
  • Spring Cloud业务相关问题