问题描述
目标是什么
我当前正在使用一个应用程序,该应用程序有一个设置屏幕,其中包含一个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 (将#修改为@)