다음 방법을 사용하여 조각 클래스 내에서 목록 뷰를 채 웁니다.사용자 지정 ListView 어댑터에 단추 추가
private void showEmployee(){
JSONObject jsonObject = null;
ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String, String>>();
try {
jsonObject = new JSONObject(JSON_STRING);
JSONArray result = jsonObject.getJSONArray(Config.TAG_JSON_ARRAY);
for(int i = 0; i<result.length(); i++){
JSONObject jo = result.getJSONObject(i);
String cia = jo.getString(Config.TAG_CIA);
String fn = jo.getString(Config.TAG_FN);
String ln = jo.getString(Config.TAG_LN);
String ad1 = jo.getString(Config.TAG_AD1);
String ad2 = jo.getString(Config.TAG_AD2);
String type = jo.getString(Config.TAG_TYPE);
String city = jo.getString(Config.TAG_CITY);
String state = jo.getString(Config.TAG_STATE);
String zip = jo.getString(Config.TAG_ZIP);
String phone = jo.getString(Config.TAG_PHONE);
String ext = jo.getString(Config.TAG_EXT);
String fromto = jo.getString(Config.TAG_FROMTO);
Log.d("HOLA ADDRESSES", "FROM O TO: " + fromto);
String user = jo.getString(Config.TAG_USER);
String id_address = jo.getString(Config.TAG_ID_ADDRESS);
HashMap<String,String> employees = new HashMap<>();
employees.put(Config.TAG_CIA,cia);
employees.put(Config.TAG_LN,fn);
employees.put(Config.TAG_FN,ln);
employees.put(Config.TAG_AD1,ad1);
employees.put(Config.TAG_AD2,ad2);
employees.put(Config.TAG_TYPE,type);
employees.put(Config.TAG_CITY,city);
employees.put(Config.TAG_STATE,state);
employees.put(Config.TAG_ZIP,zip);
employees.put(Config.TAG_PHONE,phone);
employees.put(Config.TAG_EXT,ext);
employees.put(Config.TAG_FROMTO,fromto);
employees.put(Config.TAG_USER,user);
employees.put(Config.TAG_ID_ADDRESS,id_address);
list.add(employees);
}
} catch (JSONException e) {
e.printStackTrace();
}
ListAdapter adapter = new SimpleAdapter(
getActivity(), list, R.layout.addresses_list_item,
new String[]{Config.TAG_CIA,
Config.TAG_FN,
Config.TAG_LN,
Config.TAG_AD1,
Config.TAG_AD2,
Config.TAG_TYPE,
Config.TAG_CITY,
Config.TAG_STATE,
Config.TAG_ZIP,
Config.TAG_PHONE,
Config.TAG_EXT,
Config.TAG_FROMTO,
Config.TAG_USER,
Config.TAG_ID_ADDRESS},
new int[]{R.id.cia,
R.id.fn,
R.id.ln,
R.id.ad1,
R.id.ad2,
R.id.type,
R.id.city,
R.id.state,
R.id.zip,
R.id.phone,
R.id.ext,
R.id.fromto,
R.id.user,
R.id.id_address});
listView.setAdapter(adapter);
}
는 지금은 목록에서 모든 행에 버튼을 포함하고 항목 중 하나의 값에 따라 모든 행에있는 버튼의 텍스트를 변경 할 수 있어야합니다.
버튼을 목록보기 항목 레이아웃 파일에 포함 시켰습니다.
이 방법에서 버튼 참조를 어디에 둘 것인지 모르겠다.
감사합니다.
당신은이 이를 위해 맞춤 어댑터를 사용하고, 맞춤 어댑터를 만들고, 해당 버튼에 대한 참조를 가지고 버튼에 onClickListener가 있습니다. –
@AbdulKawee, 내 계산 코드를 기반으로 맞춤형 어댑터를 만드는 것을 도와 주시겠습니까? – mvasco
네, 확실하게 코드를 공유하면 쉽게 이해할 수 있습니다 –