what i have understood is you want to check item amount in second trade window,
I don't think that getTheirOffers() / getOurOffers() works in this case
It might be possible to do so using this (@TheScrub)
public List<TradeItem> getItemsSecondaryScreen(String text) throws ParseException {
ArrayList<TradeItem> list = new ArrayList<TradeItem>();
if (text == null || !text.contains("<br>")) {
return list;
}
String items[] = text.split("<br>");
for (String s : items) {
String[] itemData = s.split("<col=[0-9A-Fa-f]{6}>");
if (itemData.length == 2) {
list.add(new TradeItem(itemData[1]));
} else if (itemData.length == 4) {
list.add(new TradeItem(itemData[1], parseQuantity(itemData[3])));
} else {
try {
throw new Exception("Sorry please check the item");
} catch (Exception e) {
e.printStackTrace();
}
}
}
return list;
}
private int parseQuantity(String text) throws ParseException {
if (text == null) {
return -1;
}
if (text.contains("(") && text.contains(")")) {
text = text.substring(text.indexOf('(') + 1, text.indexOf(')'));
NumberFormat.getIntegerInstance(java.util.Locale.US).parse(text)
.intValue();
}
return NumberFormat.getIntegerInstance(java.util.Locale.US).parse(text)
.intValue();
}
public class TradeItem {
private String name;
private boolean stackable;
private int amount;
public TradeItem(String name) {
this.name = name;
this.stackable = false;
this.amount = 1;
}
public TradeItem(String name, int amount) {
this.name = name;
this.amount = amount;
this.stackable = true;
}
public String getName() {
return this.name;
}
public int getAmount() {
return this.amount;
}
public boolean isStackable() {
return this.stackable;
}
}
anyways, why do you have to detect it?