当前位置: 首页 > 知识库问答 >
问题:

android添加

湛玄裳
2023-03-14

我正在尝试为我的设置屏幕实现android jetpack首选项。一切正常,当我单击MultiSelectListPreference时,它会显示条目列表,但我没有什么问题,

  1. 为什么entryValues不能是整数数组?(字符串数组工作正常)
  2. 如何设置默认值?对于EG:我想在开始时将第二个和第三个条目设置为默认勾选。

下面是我的pref.xml文件的一部分

...
app:entries="@array/res_entries"
app:entryValues="@array/res_id_values"
app:defaultValue="@array/res_def_values" //this line is not working
...

如果我将arrays.xml文件中的res_id_values设置为integer-array,那么应用程序将崩溃。

我的settingsFragment类扩展PreferenceFragmentCompat并重写OnCreatePreference,在其中,我编写了

setPreferencesFromResource(R.xml.pref.xml, rootkey)

编辑

我的res_entries数组:

<string-array name="res_entries">
  <item>apple</item>
  <item>Mango</item>
  <item>Guava</item>
</string-array>

我的res_id_values数组:

<string-array name="res_id_values">
  <item>1</item>
  <item>2</item>
  <item>12</item>
</string-array>

我的res_def_values数组:

<string-array name="res_def_values">
  <item>true</item>
  <item>false</item>
  <item>true</item>
</string-array>

共有1个答案

谷梁宁
2023-03-14

所以最后,我解决了它。这一切都要感谢@CommonSware。

对我第一个问题的回答是,我们不能使用整数数组。使用字符串数组并在其中存储整数值。稍后当您获得它时,使用integer.parseint()。

现在进入第二个问题,要存储默认值(假设您希望默认选中第二个和第三个项目),在res_def_values中使用res_id_values。不要像我一样用true/false或0/1。

如果在上面的问题中,如果我希望默认选中apple和guava,那么我的res_def_values将如下所示:

<string-array name="res_def_values">
  <item>1</item>
  <item>12</item>
</string-array>
 类似资料:
  • 我正在android Studio上添加我的actionbarsherlock项目库。 我为SlidingMenu创建了libs文件夹并添加了actionsherlock条库代码和其他jar文件。build.grandle我的项目的文件: 存储库{mavenCentral()} android{compileSdkVersion 18 buildToolsVersion“17.0.0” 我的项目的

  • 本文向大家介绍android-fragments 添加片段,包括了android-fragments 添加片段的使用技巧和注意事项,需要的朋友参考一下 示例 静态添加片段 文件:activity_main.xml 文件:fragment1.xml 文件:fragment2.xml 文件:MainActivity.java 文件:Fragment1.java 文件:Fragment2.java 动态

  • 我的电话有问题。当我想用以下命令添加平台时出错: > {http_解析器:'1.0',节点:'0.10.26',v8:'3.14.5.9',ares:'1.9.0-DEV',uv:'0.10.25',zlib:'1.2.3',模块:'11',openssl:'1.0.1e',npm:'1.4.3'} 道路已经确定 $echo$PATH /usr/lib/lightdm/lightdm:/usr/本

  • 我已经管理了add头,但没有管理Params。

  • 我正在尝试将ActionBarSherlock添加到我现有的应用程序中。这不像我想象的那么容易。我已经做了两天了。我已经尝试了每一个教程的2页谷歌结果。下面是我在学习本教程后所学到的内容。 我的项目结构 ActionBarsherlock/ActionBarsherlock/Build.Gradle 设置.分级器 依赖关系 我已经做了很多研究,我不能得到任何工作。我每次都得到一个错误,所以有一些东

  • 错误:任务“:app:TransformResourcesWithMergeJavaResforDebug”执行失败。 exception:com.android.build.api.transform.transformexception:com.android.builder.packaging.duplicateFileexception:APK meta-inf/license.txt文件