탭호스트에 리스너를 달아서. 인기순탭을 눌럿을경우 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();
}
}