Java (Android studio)如果我知道字符串,如何从strings.xml获取项目位置?
我在strings.xml中有一个字符串列表Java (Android studio)如果我知道字符串,如何从strings.xml获取项目位置?,java,android,xml,string,Java,Android,Xml,String,我在strings.xml中有一个字符串列表 <resources> <string name="app_name">XXXXXX MAPS</string> <string-array name="Field"> <item> AAAAA </item> <item> BBBBB </item> <item>
<resources>
<string name="app_name">XXXXXX MAPS</string>
<string-array name="Field">
<item>
AAAAA
</item>
<item>
BBBBB
</item>
<item>
CCCCC
</item>
<item>
DDDDD
</item>
<item>
EEEEE
</item>
<item>
FFFFF
</item>
<item>
GGGGG
</item>
XXXXXX地图
AAAA
BBBBB
CCCCC
DDD
EEEEE
FFFFF
GGGGG
我已将此列表放在listview中。
当我单击listview时,我将获得字符串(例如String clicked=EEEEE)
如何使用我知道的已单击字符串的信息从该strings.xml中找到int位置?(例如,如果字符串EEEEE where clicked,我希望得到Int stringclicked=5)
我想强调的是,我想用strings.xml中的字符串列表来获得它。我不能用像这样的东西
public void onItemClick(AdapterView<?> parent, final View view, int position, long id)
public void onItemClick(AdapterView父视图、最终视图、int位置、长id)
获取int位置。如果您有字符串列表,我可以在问题中看到什么。您可以使用列表的indexOf方法获取位置。例如:
List<String> strings = new ArrayList<>();
strings.add("aaa");
strings.add("bbb");
strings.add("ccc");
strings.add("ddd");
strings.add("eee");
int position = strings.indexOf("ccc");
List strings=new ArrayList();
字符串。添加(“aaa”);
字符串。添加(“bbb”);
字符串。添加(“ccc”);
字符串。添加(“ddd”);
字符串。添加(“eee”);
int位置=strings.indexOf(“ccc”);
如果您有字符串列表,我可以在问题中看到什么。您可以使用列表的indexOf方法获取位置。例如:
List<String> strings = new ArrayList<>();
strings.add("aaa");
strings.add("bbb");
strings.add("ccc");
strings.add("ddd");
strings.add("eee");
int position = strings.indexOf("ccc");
List strings=new ArrayList();
字符串。添加(“aaa”);
字符串。添加(“bbb”);
字符串。添加(“ccc”);
字符串。添加(“ddd”);
字符串。添加(“eee”);
int位置=strings.indexOf(“ccc”);
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView AdapterView,视图视图,整型位置,长id){
试试{
//“位置”是指覆盖方法中的“int位置”
Log.e(“这是您的位置”,position.toString());
}捕获(例外e){
e、 printStackTrace();
}
}
});
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView AdapterView,视图视图,整型位置,长id){
试试{
//“位置”是指覆盖方法中的“int位置”
Log.e(“这是您的位置”,position.toString());
}捕获(例外e){
e、 printStackTrace();
}
}
});
如果您有一个字符串并希望在参考资料中获得数组中的位置,请直接回答您的问题:
String[] stringArray = getResources().getStringArray(R.array.Field);
获取资源数组中的位置:
Arrays.asList(stringArray).indexOf(string)
直接回答您的问题,如果您有一个字符串并希望在参考资料中获得数组中的位置:
String[] stringArray = getResources().getStringArray(R.array.Field);
获取资源数组中的位置:
Arrays.asList(stringArray).indexOf(string)
@塞尔文???回答了这么多次哪里???@selvin哪里?请链接如果没有适配器,您不可能将其放在listView中。使用从适配器获得的位置。那会导致你想要的职位我会知道的。这是个愚蠢的问题。我只是感到困惑,因为我使用的是searcview,它正在过滤listview,但我一无所获。请不要在主题中添加“已回答”之类的内容,而是接受最重要的答案helpful@Selvin ??? 回答了这么多次哪里???@selvin哪里?请链接如果没有适配器,您不可能将其放在listView中。使用从适配器获得的位置。那会导致你想要的职位我会知道的。这是个愚蠢的问题。我只是感到困惑,因为我正在使用searcview过滤listview,但我一无所获。请不要在主题中添加“已回答”之类的内容,而是接受最有帮助的答案