如何解决androidx-在活动中实现androidx首选项Kotlin
目标是什么
我当前正在使用一个应用程序,该应用程序有一个设置屏幕,其中包含一个recyclerview。在项目单击时,此recyclerview会打开相对活动,这是“设置”的子菜单(下面的代码)。在新打开的活动中,我想使用实现androidx.prefrence
的首选项屏幕来实现。
出了什么问题
为此,我跟随this video。在此视频中,他们使用PreferenceFragmentCompact
设置了首选项屏幕。这样做的问题是,我们正在建立一个新的活动,然后建立一个新的片段,在我的应用程序中这效率不高,因为我只是用活动来建立我的设置。
考虑到这一点,是否可以在不使用片段的情况下在活动中设置“首选项”屏幕?如果是这样,怎么办?
代码:
class ActivitySettings : AppCompatActivity(),AdapterSettings.OnItemClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_settings)
topToolbarBack.setNavigationOnClickListener {
finish()
}
val settingsList = listOf(
DataItemsSettings(getString(R.string.look),getString(R.string.lookdescription),R.drawable.ic_colored_color_lens),DataItemsSettings(getString(R.string.playing),getString(R.string.playingdescription),R.drawable.ic_colored_view_carousel),DataItemsSettings(getString(R.string.images),getString(R.string.imagesdscription),R.drawable.ic_colored_image),DataItemsSettings(getString(R.string.audio),getString(R.string.audiodescription),R.drawable.ic_colored_volume_up),DataItemsSettings(getString(R.string.other),getString(R.string.otherdescription),R.drawable.ic_colored_shape),DataItemsSettings(getString(R.string.about),getString(R.string.aboutdescription),R.drawable.ic_colored_info)
)
val adapter = AdapterSettings(settingsList,this)
rvSettings.adapter = adapter
rvSettings.layoutManager = LinearLayoutManager(this)
}
override fun OnItemClick(position: Int) {
when(position) {
0 -> this.startActivity(Intent(this,ActivitySettingsLook::class.java))
1 -> this.startActivity(Intent(this,ActivitySettingsPlaying::class.java))
2 -> this.startActivity(Intent(this,ActivitySettingsImages::class.java))
3 -> this.startActivity(Intent(this,ActivitySettingsAudio::class.java))
4 -> this.startActivity(Intent(this,ActivitySettingsOther::class.java))
5 -> this.startActivity(Intent(this,ActivityAbout::class.java))
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。