안녕하세요 안드로이드를 공부하고있는 학생입니다..

현재 제가 jsp페이지에서 DB조회후 리스트뷰로 화면에 뿌려주는 형식을 하고있습니다...

검색기능과같이....문제는 안드로이드에서 데이터를 검색하면 한번만 리스트뷰에 뿌려주고 그다음부터는 버튼이 동작을 안합니다...

왜이런현상이오는지 아직 감도 안잡히고있습니다.. 고수분들의 지혜를 조금만 나눠 주세요,,,ㅜ

혹시몰라 버튼동작부분 올리겠습니다..


try{   
            searchgroupname = new ArrayList<String>();
            searchintroduce = new ArrayList<String>();
            String sendtextmsg=URLEncoder.encode("searchwork", "EUC-KR")+"="+URLEncoder.encode(getText,"EUC-KR");


            Log.d("매개변수", sendtextmsg);
            URL url;

            url = new URL("ip+"SearchGroup.jsp");

            Log.d("URL실행중..", "url연결");
            HttpURLConnection http =(HttpURLConnection)url.openConnection();
            Log.d("URL실행중..", "url커넥션http호출");
            http.setDefaultUseCaches(false);
            http.setDoInput(true);
            http.setDoOutput(true);
            http.setRequestMethod("POST");
            http.setConnectTimeout(3000);
            http.setRequestProperty("content-type", "application/x-www-form-urlencoded");
            Log.d("URL실행중..", "아웃풋 사용전 폼타입 설정하고 전달준비");
            OutputStreamWriter outStream = new OutputStreamWriter(http.getOutputStream(),"EUC-KR");
            Log.d("URL실행중..", "아웃풋스트림라이터");
            PrintWriter writer  = new PrintWriter(outStream);
            Log.d("URL실행중..", "프린터라이터 실행");
            writer.write(sendtextmsg);
            Log.d("URL실행중..", "데이터 전송");
            writer.flush();
            Log.d("URL실행중..", "플러쉬 시킴");
           

            InputStreamReader tmp = new InputStreamReader(http.getInputStream(), "EUC-KR");
            BufferedReader reader = new BufferedReader(tmp,1024);

            StringBuilder builder = new StringBuilder();
            String str;
            while ((str = reader.readLine()) != null) {       // 서버에서 라인단위로 보내줄 것이므로 라인단위로 읽는다
                if(str != "\n")
                    builder.append(str);                     // View에 표시하기 위해 라인 구분자 추가
            }
            writer.close();
            outStream.close();
            tmp.close();
            reader.close();
            http.disconnect();
            myResult = builder.toString();                   // 전송결과를 전역 변수에 저장
            boardxml = myResult.trim();                // 받아온 xml문서를 String 변수에 저장한다
            Toast.makeText(AritokMainActivity.this, "전송 후 결과 받음"+myResult, 0).show();
            Log.d("전달 데이터", myResult);
           
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            Log.d("전달", "url오류");
        }catch(IOException e){
            Log.d("전달", "io오류");
            Log.d("오류 내용", e.getMessage());
        }


        //파싱

        try {



            Log.d("파싱", "url연결");

            XmlPullParserFactory parserCreator = XmlPullParserFactory  //xmlpullparser객체를 생성하기위해 팩토리클래스의
                    .newInstance();            //newinstance메소드를 이용하여 newpullparset메소드를 통해 객체를 얻어온다
            Log.d("파싱", "풀파서 선언");
            //xml 파싱하기 위해서 풀 파서 쓴다.

            XmlPullParser parser = parserCreator.newPullParser(); // XMLPullParser 사용
            Log.d("파싱", "풀파서 생성");
            parser.setInput(new StringReader(boardxml));   // 파싱하기위해서 스트림을 열어야한다. 저장된 String 변수를
            //StringReader를 통해 가져옴
            Log.d("파싱", "스트림 생성");
            int parserEvent = parser.getEventType();  // 파싱할 데이터의 타입을 알려준다.

            Log.d("파싱", "타입 알려줌");
            Log.d("xml데이터", boardxml);

            boolean inTitle = false, inTitle2 = false, inTitle3 = false,inTitle4=false;
            while (parserEvent != XmlPullParser.END_DOCUMENT) { // xml 파일의 문서 끝인가?
                switch ( parserEvent ) {
                case XmlPullParser.START_DOCUMENT:
                case XmlPullParser.END_DOCUMENT:
                    break;
                case XmlPullParser.START_TAG:
                    if ( parser.getName().equals("Group") ){
                        inTitle = true;
                    }else if ( parser.getName().equals("GroupName") ){
                        inTitle2 = true;
                    }else if ( parser.getName().equals("introduce") ){
                        inTitle3 = true;
                    }

                case XmlPullParser.END_TAG:
                    break;
                case XmlPullParser.TEXT:
                    if(inTitle2){
                        searchgroupname.add(parser.getText());
                        inTitle2=false;
                        Log.d("파싱 데이터", searchgroupname.get(0));
                    }else if(inTitle3){
                        searchintroduce.add(parser.getText());
                        inTitle3=false;
                        Log.d("파싱 데이터", searchgroupname.get(0));
                    }
                }
                parserEvent=parser.next();
            }
            searchitem = new ArrayList<Search>();

            Search search[] =new Search[searchgroupname.size()];
            Log.d("오류", "넣음"+searchgroupname.size());
            Log.d("오류", "길이"+search.length);


            for(int i=0;i<searchgroupname.size();i++){
                Log.d("오류", "배열값저장시작");
                search[i] = new Search(searchgroupname.get(i),searchintroduce.get(i));
                Log.d("오류", "배열에다가 검색결과값 넣음");
                searchitem.add(search[i]);
                Log.d("오류","검색에다가 넣음" );
            }

            SearchAdapter searchAdapter = new SearchAdapter(this, R.layout.searchlist_view, searchitem);
           
            searchAdapter.notifyDataSetChanged();
           
            searchlist.setAdapter(searchAdapter);

아시는분있으시면 답변좀 ㅜㅜ... 3일째 뭐가문제인지도 못잡겠습니다...;;