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

时间:2017-05-05 00:21:22

标签: 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中定义了三个不同的字符串数组(一个是“mode_array_generic”),我想根据一些传递的参数选择在片段启动时加载哪个字符串数组。

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

1 个答案:

答案 0 :(得分:0)

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

使用switch或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_list_item_1”作为布局的资源ID,我被卡住了)

只需在ListView上设置适配器:

ListView listView = (ListView) rootView.findViewById(R.id.mode_list);
listView.setAdapter(adapter);