如何从资源中过滤数组

时间:2014-01-11 15:22:42

标签: android arrays listview filter

我正在开发Android应用程序,这里我需要在xml文件中的数组资源和不同活动中的两个listview第一个数组列表在印度是州,而第二个是印度地区。我在第一个列表视图中显示状态,我想在第二个列表视图中显示该区域但我的问题是我无法考虑如何根据选定状态过滤区域。例如,当用户选择Chhattisgarh作为州时,第二个列表视图应仅显示Chhattisgarh的区域而不是其他区域。

提前谢谢

1 个答案:

答案 0 :(得分:0)

您可以将状态定义为单个数组列表,并为values / arrays.xml

中的区域定义不同的数组列表
<string-array name="states">
        <item>state1</item>
        <item>state2</item>
</string-array>

<string-array name="state1-districts">
        <item>district1</item>
</string-array>

<string-array name="state2-districts">
        <item>district1</item>
</string-array>

在代码中,您可以访问states数组:

activity.getResources().getStringArray(R.array.states);

您可以访问特定州的地区:

String districtResourceName = "state1-districts";
int districtId = getResources().getIdentifier(districtResourceName, "array", "com.your.project");
activity.getResources().getStringArray(districtId);