Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用字符串资源以编程方式更改ListView的entries字段_Android_Listview - Fatal编程技术网

Android 如何使用字符串资源以编程方式更改ListView的entries字段

Android 如何使用字符串资源以编程方式更改ListView的entries字段,android,listview,Android,Listview,我在xml中定义了一个简单的列表视图: <ListView android:id="@+id/mode_list" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" android:entries="@array/mode_array_generic" /> 我在string.xml中定义了三个

我在xml中定义了一个简单的列表视图:

<ListView
    android:id="@+id/mode_list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true"
    android:entries="@array/mode_array_generic" />

我在string.xml中定义了三个不同的字符串数组(其中一个是“mode\u array\u generic”),我想根据传递的参数选择在片段启动时加载哪个字符串数组


在“onCreateView”期间,是否有一种干净简单的方法将“entries”字段重定向到不同的字符串资源?

MikeM.的评论为我提供了所需的提示。这是我的解决方案,供将来参考

使用开关或if-else块基于参数获取字符串数组:

String[] modeList = getActivity().getResources().getStringArray(R.array.mode_array_generic);
然后使用它创建一个ArrayAdapter:

ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, modeList);

您不能在运行时更改
条目
值,如果这是您的意思的话。但是,该属性所做的只是使
列表视图
资源
加载该数组,并设置由该数组和
android.R.layout.simple\u list\u item\u 1
布局构造的
ArrayAdapter
。你自己可以很容易做到。谢谢@MikeM。这是一个足够的提示,我需要找到什么来解决它。
ListView listView = (ListView) rootView.findViewById(R.id.mode_list);
listView.setAdapter(adapter);