[SOLVED] 여기에 작은 도움이 필요합니다. 2 개의 문자열을 포함하는 ArrayAdapter가 있는데 사용자에게 ArrayAdapter의 첫 번째 부분을 보여주고 싶습니다. 사용자가 특정 항목을 클릭하면 특정 항목의 ID를 가져 와서 게시하려고합니다. 아래 그림에서 볼 수 있듯이 JAVA를 사용자에게 보여주고 사용자가 버튼을 클릭 할 때 JAVAs ID를 보내려고합니다.ArrayAdapter - 두 개의 문자열을 분할
코드 :
이private class getSkillsList extends AsyncTask<String, Void, Void> {
private String dataFetchedFromURL = "";
@Override
protected Void doInBackground(String... skillListURL) {
try {
String newUrl = skillListURL[0];
URL url = new URL(newUrl);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line = "";
while (line != null) {
line = bufferedReader.readLine();
dataFetchedFromURL = dataFetchedFromURL + line;
}
System.out.print("DATA: " + dataFetchedFromURL);
JSONArray root = new JSONArray(dataFetchedFromURL);
skillList = new ArrayList<String>();
for (int i = 0; i < root.length(); i++) {
JSONObject jsonObjectHoldingCountries = root.getJSONObject(i);
HashMap<String, Integer> skillsMap = new HashMap<>();
skillsMap.put(jsonObjectHoldingCountries.optString("lookupValue"), jsonObjectHoldingCountries.getInt("lookupValueId"));
}
} catch (IOException | JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
ArrayAdapter<String> adapter;
for(int i=0; i<skillsMap.size();i++){
skillList.add(String.valueOf(skillsMap.get(i)));
}
adapter = new ArrayAdapter<String>(Skills.this, android.R.layout.simple_list_item_1, skillList);
acSkillTextView.setAdapter(adapter);
}
}
1 UPDATE :
지금 난 내 코드를 업데이트 첫 번째 키의 HashMap에서 JSON 응답을 저장했다가 문자열이고 값은 정수입니다. 그리고 내가 그 Hashmap을 post 실행 메소드에서 어댑터에 추가하려고하면 autocompletetext 드롭 다운에 NULL이 표시됩니다.
2 업데이트 :
내 용액을 얻었다, I는 제는 HashMap로 내 수신 된 데이터를 삽입하고 해시 맵에서 난 배열로 키 값을 삽입 어댑터를 사용하는 드롭에 해당 배열을 표시. 건배! 고마워요 :)
코드를 게시하십시오. –
@NabinBhandari가 추가되었습니다. – KhanStan99