Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/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
Java (Android studio)如果我知道字符串,如何从strings.xml获取项目位置?_Java_Android_Xml_String - Fatal编程技术网

Java (Android studio)如果我知道字符串,如何从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>

我在strings.xml中有一个字符串列表

<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,但我一无所获。请不要在主题中添加“已回答”之类的内容,而是接受最有帮助的答案