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

탭호스트 setOnTabChangedListener질문이요. [closed]

0 추천

탭호스트에 리스너를 달아서.  인기순탭을 눌럿을경우 php를통해서 인기순목록을 가져와서 뿌려주고

조회순탭을 누르면 php통해서 조회순목록을 가져와서 뿌려지게 하려고합니다.

그런데, 조회순탭을 눌러도 인기순탭눌럿을때와같은 데이터를 가져와요..

tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener(){

    @Override
    public void onTabChanged(String tabId) {
        if(tabId.equalsIgnoreCase("Tab1")) {
            getData("http://웹서버/list_data.php");
            Toast.makeText(mContext, "인기순", Toast.LENGTH_SHORT).show();
        }else if(tabId.equalsIgnoreCase("Tab2")){
            getData("http://웹서버/list2_data.php");
            Toast.makeText(mContext, "조회순", Toast.LENGTH_SHORT).show();
        }else if(tabId.equalsIgnoreCase("Tab3")){
            Toast.makeText(mContext, "신규", Toast.LENGTH_SHORT).show();
        }
    }
});
    public void getData(String url){
        Log.d("url",url);
        class GetDataJSON extends AsyncTask<String, Void, String> {
            @Override
            protected String doInBackground(String... params) {
                String uri = params[0];
                Log.d("uri",uri);
                BufferedReader bufferedReader = null;
                try {
                    URL url = new URL(uri);
                    HttpURLConnection con = (HttpURLConnection) url.openConnection();
                    StringBuilder sb = new StringBuilder();

                    bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream()));

                    String json;
           while((json = bufferedReader.readLine())!= null){
                        sb.append(json+"\n");
                    }
                    return sb.toString().trim();
                }catch(Exception e){
                    return null;
                }
            }
            @Override
            protected void onPostExecute(String result){
                myJSON=result;
                showList();
                listviewadapter.notifyDataSetChanged();
            }
        }
        GetDataJSON g = new GetDataJSON();
        g.execute(url);
    }

 protected void showList(){
        try {
            JSONObject jsonObj = new JSONObject(myJSON);
            peoples = jsonObj.getJSONArray(TAG_RESULTS);
            strList = new ArrayList<>() ;

            for(int i=0;i<peoples.length();i++){

                JSONObject c = peoples.getJSONObject(i);
                String no = c.getString(TAG_NO);
                String name = c.getString(TAG_NAME);
                String likes= c.getString(TAG_LIKES);
                String view= c.getString(TAG_VIEW);

                HashMap<String,String> persons = new HashMap<String,String>();
                persons.put(TAG_NO,no);
                persons.put(TAG_NAME,name);
                persons.put(TAG_LIKES,likes);
                persons.put(TAG_VIEW,view);

                personList.add(persons);
                strList.add(personList);
                    Log.d("str",strList+"");
            }

            adapter = new SimpleAdapter(

                    Main_Page.this, personList,
                    R.layout.list_item,
                    new String[]{TAG_NAME,TAG_LIKES,TAG_VIEW},
                    new int[]{ R.id.name,R.id.textlike,R.id.textView5}
            )
            {
  중략
            };
            listview.setAdapter(adapter);
            listview2.setAdapter(adapter);
            listview.setTextFilterEnabled(true);
     listview2.setTextFilterEnabled(true);
            listview.setClickable(true);
            listview2.setClickable(true);
            listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                String txtview2;
                @Override
  중략(클릭햇을경우 view 1씩증가)
            });
            listviewadapter.notifyDataSetChanged();
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }

질문을 종료한 이유: 해결됬습니다.
신입생 (510 포인트) 님이 2016년 10월 27일 질문
신입생님이 2016년 10월 27일 closed
...