Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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 如何显示类别和子类别的巨大列表?_Android_If Statement_Autocomplete_Switch Statement - Fatal编程技术网

Android 如何显示类别和子类别的巨大列表?

Android 如何显示类别和子类别的巨大列表?,android,if-statement,autocomplete,switch-statement,Android,If Statement,Autocomplete,Switch Statement,我正在构建一个android应用程序和 我有一个巨大的类别列表(~50)要显示给用户,我目前正在使用一个AutoCompleteTextView让用户选择 但我的问题是,我还有一个巨大的子类别列表(每个类别约10个),我必须显示这些子类别,并让用户选择一个,子类别必须根据所选类别显示 因此,除了编写一个巨大的开关盒或if else块之外,我该怎么做呢 我不是很确定,但是反射可以用来检查R.java的字段,然后获取包含子类别的资源的id吗?当然,假设我使用了正确的命名约定。我认为您不应该使用布局文

我正在构建一个
android
应用程序和 我有一个巨大的类别列表(~50)要显示给用户,我目前正在使用一个
AutoCompleteTextView
让用户选择

但我的问题是,我还有一个巨大的子类别列表(每个类别约10个),我必须显示这些子类别,并让用户选择一个,子类别必须根据所选类别显示

因此,除了编写一个巨大的
开关盒
if else
块之外,我该怎么做呢


我不是很确定,但是反射可以用来检查
R.java
的字段,然后获取包含子类别的资源的id吗?当然,假设我使用了正确的命名约定。

我认为您不应该使用布局文件中的所有类别和子类别来实现这一点。我将通过Java代码生成布局,以便轻松添加一些智能技巧


例如,您可以通过编程方式添加“标记”值,以帮助您标识所选项目

以下是我从@Jordi的答案中得到的灵感改进

利用正则表达式的强大功能,我对庞大的
XML
文件进行了一些修改

其思想是创建一个
java.util.Map
,键是类别,值是子类别

因此,我可以通过
map.keySet()
然后根据用户选择来获取类别列表
我可以做
map.get(selection)
来获得子类别的列表。

你能基于此抛出一个示例吗?请。@prashant:对不起,我写这段代码已经17个多月了,我几乎记不起我写这个问题的背景了。所以不,我想我不能给你一个关于这个的样本:-(