SettingActivity学习笔记

这篇博客详细记录了Android Studio自动生成SettingActivity的学习过程,包括Activity的文件结构、方法解析,如onCreate()、onBuildHeaders()等关键函数的作用。此外,还探讨了解决Preference intent标签下自定义intent的问题,指出必须同时配置Action和Category标签,其中Category的name属性设为DEFAULT。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android Studio 自动生成的SettingActivity学习笔记

自动生成文件结构

  1. SettingActivity
  2. AppCompatPreferenceActivity
  3. xml文件包
  4. 没有layout文件

更多好玩文章: 天意博文

SettingActivity的方法

这里写图片描述

系统自己定义好多方法
我们看看能用到的

  1. onCreate()初始化Activity同时调用了stupActionBar()—–>支持ActionBar
  2. 重写onBuildHeaders()方法—->相当于加载xml文件中的布局
  3. sBindPreferenceSummaryToValueListener——>设置监听器
    4.三个Fragment—–>具体显示的内容
    5.isValidFragment安全设置,删除会报错
    6.bindPreferenceSummaryToValue—–>Fragment通过它来绑定到刚刚定义的监听器

这里写图片描述

xml文件包

一个入口负责安排3个Fragment
3个具体内容由Fragment调用

标签说明
preference-headers是全局性标签
PreferenceScreen是具体内容性标签
SwitchPreference开关
EditTextPreference可编辑文本窗口
ListPreference清单
昨天小问题解决

在Preference的intent标签下无法自定义intent

解决方法:不单单是要在Activity中配置Action标签也要配置Category标签,name属性就是DEFAULT(默认)就ok了

                                          ---3.29更新
Cmd line: com.android.soundrecorder Build fingerprint: 'iHand55/iHand55/iHand55:14/UP1A.231005.007/eng.zztl.20250730.183813:user/release-keys' ABI: 'arm64' Build type: optimized suspend all histogram: Sum: 2.239ms 99% C.I. 1us-1893.279us Avg: 172.230us Max: 1995us DALVIK THREADS (17): "main" prio=5 tid=1 Native | group="main" sCount=1 ucsCount=0 flags=1 obj=0x733ac4c8 self=0xb40000703ac2f6f0 | sysTid=12108 nice=-20 cgrp=top-app sched=0/0 handle=0x72fa57f4f8 | state=S schedstat=( 3647210499 102131647 1918 ) utm=288 stm=75 core=1 HZ=100 | stack=0x7fef869000-0x7fef86b000 stackSize=8188KB | held mutexes= native: #00 pc 000c2108 /apex/com.android.runtime/lib64/bionic/libc.so (mkdirat+8) (BuildId: c3622b5c0a4cde0d723ea2d964ec71b7) native: #01 pc 0002b24c /apex/com.android.art/lib64/libopenjdk.so (Java_java_io_UnixFileSystem_createDirectory0+92) (BuildId: c2be030b12d5d636e6dfc80ef23f2693) at java.io.UnixFileSystem.createDirectory0(Native method) at java.io.UnixFileSystem.createDirectory(UnixFileSystem.java:386) at java.io.File.mkdir(File.java:1323) at java.io.File.mkdirs(File.java:1362) at java.io.File.mkdirs(File.java:1361) at com.sprd.soundrecorder.SettingActivity.h(SettingActivity.java:12) at com.sprd.soundrecorder.SettingActivity.i(SettingActivity.java:58) at com.sprd.soundrecorder.SettingActivity.j(SettingActivity.java:8) at com.sprd.soundrecorder.service.RecordingService.onStartCommand(RecordingService.java:8) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4934) at android.app.ActivityThread.-$$Nest$mhandleServiceArgs(unavailable:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2381) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8376) at java.lang.reflect.Method.invoke(Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:640) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:982)
08-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值