편집 기록

편집 기록
  • 프로필 알 수 없는 사용자님의 편집
    날짜2020.01.31

    서버에서 받아온 값 리스트에 저장하고 검색하기


    서버에서 값을 받아오는건 확인했는데 저기 Asynctask에서 추가한 항목이 검색기능에 잡히지를 않네요..ㅠㅠ onCreate에 list.add("항목") 이런식으로 추가해주면 문제 없이 하는데 Asynctask에서는 이런 문제를 어떻게 해결해야 하는지 모르겠습니다..ㅠㅠ

    onCreate부분 입니다.

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activitiy_address_group);
    
            editSearch = (EditText) findViewById(R.id.address_group_edtadd);
            listView = (ListView) findViewById(R.id.address_group_addlist);
    
            list = new ArrayList<>();
            Tablename = new ArrayList<>();
            // 리스트를 생성한다.
    
            //서버 전송 class
            InsertData task = new InsertData();
            task.execute("serverURL");
    
            // 검색에 사용할 데이터을 미리 저장한다.
            //settingList();
    
            // 리스트의 모든 데이터를 arraylist에 복사한다.// list 복사본을 만든다.
            arraylist = new ArrayList<String>();
            arraylist.addAll(list);
    
            // 리스트에 연동될 아답터를 생성한다.
            adapter = new AddressGroupAdapter(list, this);
    
            // 리스트뷰에 아답터를 연결한다.
            listView.setAdapter(adapter);
    
            // input창에 검색어를 입력시 "addTextChangedListener" 이벤트 리스너를 정의한다.
            editSearch.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
    
                @Override
                public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
    
                @Override
                public void afterTextChanged(Editable editable) {
                    // input창에 문자를 입력할때마다 호출된다.
                    // search 메소드를 호출한다.
                    String text = editSearch.getText().toString();
                    search(text);
                }
            });
        }
    

    이부분이 서버에서 값을 받아오는 부분입니다.

    class InsertData extends AsyncTask<String, Void, String> {
    
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }
    
        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
    
            try {
                JSONObject Land = new JSONObject(result);
                JSONArray jsonArray = Land.getJSONArray("Response");
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject subJsonObject = jsonArray.getJSONObject(i);
                    String TableName = subJsonObject.getString("serverURL");
                    Tablename.add(TableName);
                    namelist = Tablename.get(i);
                    list.add(TableName); //서버에서 받은 값을 list에 추가
                }
            } catch (JSONException e) {
                e.printStackTrace();
                }
            }
        }
    
    
    
    
  • 프로필 편집요청빌런님의 편집
    날짜2020.01.31

    서버에서 받아온 값 리스트에 저장하고 검색하기


    onCreate부분 입니다.

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activitiy_address_group);
    
            editSearch = (EditText) findViewById(R.id.address_group_edtadd);
            listView = (ListView) findViewById(R.id.address_group_addlist);
    
            list = new ArrayList<>();
            Tablename = new ArrayList<>();
            // 리스트를 생성한다.
    
            //서버 전송 class
            InsertData task = new InsertData();
            task.execute("serverURL");
    
            // 검색에 사용할 데이터을 미리 저장한다.
            //settingList();
    
            // 리스트의 모든 데이터를 arraylist에 복사한다.// list 복사본을 만든다.
            arraylist = new ArrayList<String>();
            arraylist.addAll(list);
    
            // 리스트에 연동될 아답터를 생성한다.
            adapter = new AddressGroupAdapter(list, this);
    
            // 리스트뷰에 아답터를 연결한다.
            listView.setAdapter(adapter);
    
            // input창에 검색어를 입력시 "addTextChangedListener" 이벤트 리스너를 정의한다.
            editSearch.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
    
                @Override
                public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
    
                @Override
                public void afterTextChanged(Editable editable) {
                    // input창에 문자를 입력할때마다 호출된다.
                    // search 메소드를 호출한다.
                    String text = editSearch.getText().toString();
                    search(text);
                }
            });
        }
    

    이부분이 서버에서 값을 받아오는 부분입니다.

    class InsertData extends AsyncTask<String, Void, String> {
    
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }
    
        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
    
            try {
                JSONObject Land = new JSONObject(result);
                JSONArray jsonArray = Land.getJSONArray("Response");
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject subJsonObject = jsonArray.getJSONObject(i);
                    String TableName = subJsonObject.getString("serverURL");
                    Tablename.add(TableName);
                    namelist = Tablename.get(i);
                    list.add(TableName); //서버에서 받은 값을 list에 추가
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }
    
  • 프로필 알 수 없는 사용자님의 편집
    날짜2020.01.31

    서버에서 받아온 값 리스트에 저장하고 검색하기


    onCreate부분 입니다.

    @Override
     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activitiy_address_group);
    
    
    
        editSearch = (EditText) findViewById(R.id.address_group_edtadd);
        listView = (ListView) findViewById(R.id.address_group_addlist);
    
        list = new ArrayList<>();
        Tablename = new ArrayList<>();
        // 리스트를 생성한다.
    
    //서버 전송 class
        InsertData task = new InsertData();
        task.execute("serverURL");
    
        // 검색에 사용할 데이터을 미리 저장한다.
       //settingList();
    
    
        // 리스트의 모든 데이터를 arraylist에 복사한다.// list 복사본을 만든다.
        arraylist = new ArrayList<String>();
        arraylist.addAll(list);
    
        // 리스트에 연동될 아답터를 생성한다.
        adapter = new AddressGroupAdapter(list, this);
    
        // 리스트뷰에 아답터를 연결한다.
        listView.setAdapter(adapter);
    
        // input창에 검색어를 입력시 "addTextChangedListener" 이벤트 리스너를 정의한다.
        editSearch.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }
    
            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
    
            }
    
            @Override
            public void afterTextChanged(Editable editable) {
                // input창에 문자를 입력할때마다 호출된다.
                // search 메소드를 호출한다.
                String text = editSearch.getText().toString();
                search(text);
            }
        });
    
    
    }
    

    이부분이 서버에서 값을 받아오는 부분입니다.

    class InsertData extends AsyncTask<String, Void, String> {
    
    
    
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
    
    
    
        }
    
        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
    
    
            try {
    
    
                JSONObject Land = new JSONObject(result);
    
    
                JSONArray jsonArray = Land.getJSONArray("Response");
    
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject subJsonObject = jsonArray.getJSONObject(i);
    
                    String TableName = subJsonObject.getString("serverURL");
    
                    Tablename.add(TableName);
    
                    namelist = Tablename.get(i);
    
    
                    list.add(TableName);
                //서버에서 받은 값을 list에 추가
                }
    
    
            } catch (JSONException e) {
                e.printStackTrace();
            }
    
        }
    

    서버에서 값을 받아오는건 확인했는데 저기 Asynctask에서 추가한 항목이 검색기능에 잡히지를 않네요..ㅠㅠ onCreate에 list.add("항목") 이런식으로 추가해주면 문제 없이 하는데 Asynctask에서는 이런 문제를 어떻게 해결해야 하는지 모르겠습니다..ㅠㅠ