Android,Java:返回3个元素列表中的2个元素
问题描述:
我有一个List
由3个已经从XML解析的值组成。我想要做的是将特定值与列表的第一个值进行比较,并根据返回的值将其他2个与第一个值相匹配的元素进行返回。Android,Java:返回3个元素列表中的2个元素
这一个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>
例如,如果值是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;
}
}
为了比较这我曾尝试以下解决方案,但我不知道如何继续 (编辑)如何获得名单的第1和第2位?
public void Check() {
for (int i=0;i<=30;i++){
int index = puntuaciones.indexOf("1");
puntuaciones.get(index);
}
我希望这最后一些帮助。
答
List<Puntuacion> myList = getPuntuacion();
for (Puntuacion tmpPunt : myList) {
if (Verbal.getRespuesta() == VALOR)
return tmpPunt;
}
getRespuesta()
应返回String
对象,并以比较String
价值,你必须从String
类
谢谢你,但,这不是在这种情况下,问题使用
equals
方法。 – Katherine99 2013-03-01 09:09:10你想实现什么?我真不明白什么是你的问题 – Blackbelt 2013-03-01 09:17:36
嗨,例如在此代码: 1,2 VALOR_TRANSFORMADO> 14.4 - 如果该值是1,我想得到其他2个值是1,2和14,4 –
Katherine99
2013-03-01 09:19:36