마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

서버에서 가져온 JSON파일을 안드로이드에서 리스트뷰에 조회, 추가는 되는데 수정이 안됩니다.

0 추천

제가 json을 변환해서 리스트뷰에 출력까지 하는건 됬는데 수정, 삭제를 하지 못합니다. 

final ArrayList<String> resList = new ArrayList<String>();
            final ArrayAdapter<String> resAda = new ArrayAdapter<String>
                    (GetActivity.this,android.R.layout.simple_list_item_1, resList);
            list.setAdapter(resAda);


            try {
                JSONArray jarray = new JSONArray(result);
                for(int i=0; i<jarray.length(); i++){
                    JSONObject jsonObject = jarray.getJSONObject(i);
                    String time = jsonObject.getString("time");
                    String service = jsonObject.getString("service");
                    String other = jsonObject.getString("other");
                    resList.add("날짜.시간 : " + time + " / 서비스 : " + service + " / 기타 " + other );
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

            list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView parent, View v, int position, long id) {
                    String number = resList.get(position);
                    Intent intent = new Intent(getApplicationContext(), EditActivity.class);
                    intent.putExtra("number", number);
                    startActivityForResult(intent,0);
                    Log.d(number,"ok");
                }

            });

제가 number에 포지션을 설정해서 number을 누르면 해당 줄은 log로 출력해서 가져오는걸 아는데, 위에 for문에서 보시다시피 time, service, other을 각각 가져오고 싶어서 질문합니다.

미리내음 (140 포인트) 님이 2020년 12월 17일 질문

1개의 답변

+1 추천
클래스 객체 개념이 아직 없으신것 같습니다.

클래스를 하나 만들어서  time service other을 관리하세요.

그 클래스에 대한 ArrayList를 만드셔서 클래스 객체들을 arraylist에서 관리하세요.

그 arrayslit를 어댑터로 보내 해당 arraylist를 기반으로 리스트를 출력하세요.

onitemclick에서 가져올때 해당 position에 해당되는 arraylist의 객체를 가져와서 해당 객체에서

원하시는 데이터를 꺼내시면됩니다.

그리고 충분히 공부가 되시면 기본 json parser보단 gson을 사용하시면 더 수월합니다.
코코아드래곤 (280 포인트) 님이 2020년 12월 17일 답변
어느정도 이해가 되었습니다.. 한번 구현해볼게요 감사합니다!
...