package com.tv.view; import java.util.ArrayList; import java.util.List; import android.app.Fragment; import android.app.ListFragment; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.tv.btl.BaseApplication; import com.tv.btl.R; import com.tv.listener.FollowListener; import com.tv.model.Product; import com.tv.model.User; import com.tv.model.User; import com.tv.net.DownloadProduct; import com.tv.net.DownloadUser; import com.tv.task.FollowTask; import com.tv.task.ProductTask; import com.tv.task.UserTask; import com.tv.view.Frag_feed.FragmentArray; public class Frag_friends extends ListFragment implements FollowListener{ public static final String UID = "uid"; public static final String FULLNAME = "fullname"; public static final String EMAIL = "email"; public static final String USERNAME = "uname"; public static final String TEL = "tel"; public static final String URL = "image_url"; View FragmentView; List<User> model = new ArrayList<User>(); FollowArray adapter = null; User user = null; Button vmore; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { FragmentView = inflater.inflate(R.layout.frag_friends, container, false); return FragmentView; } public void onDestroy() { super.onDestroy(); System.out.println("destroy"); } public void init() { setListAdapter(adapter); FollowTask t = new FollowTask(FollowTask.GETFOLLOW, this); User us = new User(); us.setId(((BaseApplication)getActivity().getApplication()).getID()); t.execute(us); vmore=(Button) FragmentView.findViewById(R.id.frag_friend_more); vmore.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub } }); } public void loadMore(){ BaseApplication bs =(BaseApplication) getActivity().getApplication(); if(bs.getPage_friend()!=0){ FollowTask t= new FollowTask(FollowTask.MORE_FOLLOW, this); User s= new User(); s.setId(bs.getID()); t.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, s); } } public void onActivityCreated(Bundle Save) { super.onActivityCreated(Save); adapter = new FollowArray(); init(); vmore =(Button) FragmentView.findViewById(R.id.frag_friend_more); vmore.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { viewMore(); } }); } public void viewMore(){ // BaseApplication bs =(BaseApplication) getActivity().getApplication(); // System.out.println(bs.getFeedPage()); // if(bs.getFeedPage()!=0){ // FollowTask t = new UserTask(FollowTask.MORE_FEED, this); // t.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, new User()); // } } class FollowArray extends ArrayAdapter<User> { public FollowArray() { super(Frag_friends.this.getActivity(), R.layout.row_friend, model); } public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; Holder h; if (v == null) { System.out.println(position + " Null"); LayoutInflater inflate = getActivity().getLayoutInflater(); v = inflate.inflate(R.layout.row_friend, parent, false); h = new Holder(v); v.setTag(h); } else { h = (Holder) v.getTag(); } h.img.setTag((model.get(position)).getLinkava()); h.populate(model.get(position)); return v; } } class Holder { TextView uname, email, tel; ImageView img; User u; public Holder(View v) { uname = (TextView) v.findViewById(R.id.rowf_username); email = (TextView) v.findViewById(R.id.rowf_email); tel = (TextView) v.findViewById(R.id.rowf_tel); img = (ImageView) v.findViewById(R.id.rowf_avatar); } public void populate(User user) { if (!user.isInit() && user.getLinkava().equals(img.getTag())) { uname.setText(user.getFullname()); email.setText(user.getEmail()); tel.setText(user.getPhone()); DownloadUser dl= new DownloadUser(this.img, user); dl.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ""); } else if (user.isInit() && user.getLinkava().equals(img.getTag())) { uname.setText(user.getFullname()); email.setText(user.getEmail()); tel.setText(user.getPhone()); this.img.setImageBitmap(user.getAvatar()); } } } public void onListItemClick(ListView list, View view, int position, long id) { Intent i = new Intent(getActivity(), FriendView.class); user = model.get(position); i.putExtra(UID, user.getId()); i.putExtra(FULLNAME, user.getFullname()); i.putExtra(USERNAME, user.getUsername()); i.putExtra(EMAIL, user.getEmail()); i.putExtra(TEL, user.getPhone()); i.putExtra(URL, user.getLinkava()); startActivity(i); } public void reLoadFollow(List<User> params) { System.out.println("sizeeee " + params.size()); for (int i = model.size() - 1; i >= 0; i--) { model.remove(i); } adapter.clear(); for (int i = 0; i < params.size(); i++) { model.add(params.get(i)); } adapter.notifyDataSetChanged(); System.out.println("count" + adapter.getCount()); } public void loadMoreFollow(List<User> params) { for(int i=0;i<params.size();i++){ model.add(params.get(i)); } adapter.notifyDataSetChanged(); } public void checkFollow(int result) {} public void addFollow(int result) {} public void unFollow(int result) {} }