Arraylist
은 HashMap
입니다. 각 HashMap
요소에는 열 이름과 해당 값의 두 열이 포함됩니다. 이 HashMap
은 ListView
에 3 TextView
으로 추가됩니다. 해시 맵에서 데이터를 올바르게 가져올 수 없습니다.
ArrayList
을 채우고 다음을 표시하기 위해 어댑터에이를 할당 :
ArrayList<HashMap<String, String>> list1 = new ArrayList<HashMap<String, String>>();
HashMap<String, String> addList1;
for (int i = 0; i < count; i++) {
addList1 = new HashMap<String, String>();
addList1.put(COLUMN1, symbol[i]);
addList1.put(COLUMN2, current[i]);
addList1.put(COLUMN3, change[i]);
list1.add(addList1);
RecentAdapter adapter1 = new RecentAdapter(CompanyView.this,
CompanyView.this, list1);
listrecent.setAdapter(adapter1);
}
.
이제 listItemClick
에서 가져온 데이터는 다른 시간에서 다른 형식입니다.
예 : 내가 첫번째 목록 항목을 클릭 한 후 인출 된 문자열을 로그인하면
ABC 123 1
PQR 456 4
XYZ 789 7
, 나는 여러 출력 중 하나 얻을 예 : 내 목록은 다음과 같은 데이터가 포함되어
{1 = ABC, 2 = 123, 3 = 1}
{= ABC 첫째, 둘째 = 123, 셋째 = 1 = 123}
{1, 0 = ABC, 2 = 1}
01,235,심지어 {= 123 27 = 1 28 26 = ABC}
처음에 I 사용 :
int pos1 = item.indexOf("1=");
int pos2 = item.indexOf("2=");
int pos3 = item.indexOf("3=");
String symbol = item.substring(pos1 + 2,pos1 - 2).trim();
String current = item.substring(pos2 + 2, pos3 - 2).trim();
String change = item.substring(pos3 + 2, item.length() - 1).trim();
그 다음 4 일 경우에, I 사용할 가지고 int pos1 = item.indexOf("26=");
int pos2 = item.indexOf("27=");
int pos3 = item.indexOf("28=");
String symbol = item.substring(pos1 + 3, item.length() - 1).trim();
String current = item.substring(pos2 + 3, pos3 - 3).trim();
String change = item.substring(pos3 + 3, pos1 - 3).trim();
따라서 ABC
은 symbol
입니다.
그러나이 방법을 사용하면 응용 프로그램의 신뢰성이 완전히 손실됩니다.
는 또한while (myVeryOwnIterator.hasNext()) {
key = (String) myVeryOwnIterator.next();
value[ind] = (String) addList1.get(key);
}
을 시도하지만 그것은 적절한 가치를 포기하지 않을거야. 대신 예를 들어 임의의 기호를 반환합니다. ABC 또는 PQR 또는 XYZ. 뭐가 잘못 되었나요?
미리 감사드립니다.