Android,Java:返回三个元素列表中的两个元素

Android,Java:返回三个元素列表中的两个元素,android,list,parsing,return,Android,List,Parsing,Return,我有一个列表,由3个从XML解析的值组成。我想做的是将一个特定的值与列表的第一个值进行比较,并根据返回的值来确定与第一个值匹配的其他两个元素 这是一个XML片段: <?xml version="1.0"?> <TABLA Nom_Test="A_NUM_MED_01" Escala="APTITUD RAZ. CRITICO NUMÉRICO"> <PUNTUACION> <VALOR>0</VALOR> <VALOR

我有一个
列表
,由3个从XML解析的值组成。我想做的是将一个特定的值与列表的第一个值进行比较,并根据返回的值来确定与第一个值匹配的其他两个元素

这是一个XML片段:

<?xml version="1.0"?>
 <TABLA Nom_Test="A_NUM_MED_01" Escala="APTITUD RAZ. CRITICO NUMÉRICO">
 <PUNTUACION>
  <VALOR>0</VALOR>
  <VALOR_TRANSFORMADO>1,2</VALOR_TRANSFORMADO>
  <VALOR_PS>14,4</VALOR_PS>
 </PUNTUACION>
 <PUNTUACION>
  <VALOR>1</VALOR>
  <VALOR_TRANSFORMADO>1,2</VALOR_TRANSFORMADO>
  <VALOR_PS>14,4</VALOR_PS>

0
1,2
14,4
1.
1,2
14,4
例如,如果该值为1,则应返回其他2个值:1,2和14,4

我有这样的结构,而且效果很好:

 public XMLPullParserHandler() {
    puntuaciones = new ArrayList<Puntuacion>();
}

public List<Puntuacion> getPuntuacion() {
    return puntuaciones;
}

public List<Puntuacion> parse(InputStream is) {
    XmlPullParserFactory factory = null;
    XmlPullParser parser = null;
    try {
        factory = XmlPullParserFactory.newInstance();
        factory.setNamespaceAware(true);
        parser = factory.newPullParser();

        parser.setInput(is, null);

        int eventType = parser.getEventType();
        while (eventType != XmlPullParser.END_DOCUMENT) {
            String tagname = parser.getName();
            switch (eventType) {
            case XmlPullParser.START_TAG:
                if (tagname.equalsIgnoreCase("PUNTUACION")) {
                    // create a new instance of employee
                    puntuacion = new Puntuacion();
                }
                break;

            case XmlPullParser.TEXT:
                text = parser.getText();
                break;

            case XmlPullParser.END_TAG:
                if (tagname.equalsIgnoreCase("PUNTUACION")) {

                    puntuaciones.add(puntuacion);
                } else if (tagname.equalsIgnoreCase("VALOR")) {
                    puntuacion.setValor((text));
                } else if (tagname.equalsIgnoreCase("VALOR_TRANSFORMADO")) {
                    puntuacion.setValor_Transformado((text));
                } else if (tagname.equalsIgnoreCase("VALOR_PS")) {
                    puntuacion.setValor_PS((text));;

                }
                break;

            default:
                break;
            }
            eventType = parser.next();
        }

    } catch (XmlPullParserException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return puntuaciones;
}
publicXMLPullParserHandler(){
puntuaciones=newarraylist();
}
公共列表getPuntuacion(){
返回puntuaciones;
}
公共列表解析(InputStream为){
XmlPullParserFactory工厂=null;
XmlPullParser=null;
试一试{
factory=XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
parser=factory.newPullParser();
setInput(is,null);
int eventType=parser.getEventType();
while(eventType!=XmlPullParser.END_文档){
字符串标记名=parser.getName();
开关(事件类型){
case XmlPullParser.START_标记:
if(标记名.equalsIgnoreCase(“PUNTUACION”)){
//创建employee的新实例
puntuacion=新puntuacion();
}
打破
case XmlPullParser.TEXT:
text=parser.getText();
打破
case XmlPullParser.END_标记:
if(标记名.equalsIgnoreCase(“PUNTUACION”)){
puntuaciones.add(puntuacion);
}else if(标记名.equalsIgnoreCase(“VALOR”)){
puntuacion.setValor((文本));
}else if(标记名.equalsIgnoreCase(“VALOR_TRANSFORMADO”)){
puntuacion.setValor_Transformado((文本));
}else if(标记名.equalsIgnoreCase(“VALOR_PS”)){
puntuacion.setValor_PS((文本));;
}
打破
违约:
打破
}
eventType=parser.next();
}
}catch(XMLPullParseRexE){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
返回puntuaciones;
}
}

为了比较这一点,我尝试了以下解决方案,但我不知道如何继续 (已编辑)如何获取列表的位置1和位置2

public void Check() {
for (int i=0;i<=30;i++){
int index = puntuaciones.indexOf("1");
puntuaciones.get(index);
公共作废检查(){
对于(int i=0;i
List myList=getPuntuacion();
for(Puntuacion tmpPunt:myList){
if(verball.getRespuesta()==VALOR)
返回tmpPunt;
}

getRespuesta()
应该返回一个
字符串
对象,为了比较
字符串
值,您必须使用
字符串
类中的
等于
方法

谢谢,但这不是本例中的问题。您想实现什么?我真的不明白您的问题是什么,例如在本代码中:1,2 14,4--如果这个值是1,我想得到另外两个值,分别是1,2和14,4
 List<Puntuacion> myList = getPuntuacion();    
 for (Puntuacion tmpPunt : myList) {
      if ( Verbal.getRespuesta() == VALOR)
            return tmpPunt;
 }