package com.tv.view; import java.util.ArrayList; import java.util.List; 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.ProductListener; import com.tv.model.Product; import com.tv.model.User; import com.tv.net.DownloadProduct; import com.tv.task.ProductTask; public class Frag_mypage extends ListFragment implements ProductListener{ private View FragmentView = null; List<Product> model = new ArrayList<Product>(); FragmentArray adapter =null; Product product = null; Button vmore; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { FragmentView = inflater.inflate(R.layout.frag_mypage, container, false); return FragmentView; } public void onActivityCreated(Bundle Save) { super.onActivityCreated(Save); adapter = new FragmentArray(); init(); vmore =(Button) FragmentView.findViewById(R.id.frag_mypage_more); vmore.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { viewMore(); } }); } public void viewMore(){ BaseApplication bs =(BaseApplication) getActivity().getApplication(); System.out.println(bs.getPage_page()); if(bs.getPage_page()!=0){ int id =bs.getID(); Product pr = new Product(); pr.setUid(id); ProductTask t = new ProductTask(ProductTask.MORE_PAGE, this); t.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,pr); } } public void onStart() { super.onStart(); System.out.println("mypage: onStart"); } public void onDestroy() { super.onDestroy(); System.out.println("mypage: onDestroy"); } public void onPause() { super.onPause(); System.out.println("mypage: onPause"); } public void onStop() { super.onStop(); System.out.println("onStop"); } public void onListItemClick(ListView list, View view, int position, long id) { Intent i = new Intent(getActivity(), ViewPost.class); product = model.get(position); i.putExtra(Frag_feed.UID, product.getUid()); i.putExtra(Frag_feed.PID, product.getPid()); i.putExtra(Frag_feed.PNAME, product.getPname()); i.putExtra(Frag_feed.UNAME, ((BaseApplication)getActivity().getApplication()).getUsername()); i.putExtra(Frag_feed.PUBLICDATE, product.getDate()); i.putExtra(Frag_feed.URL, product.getUrl()); i.putExtra(Frag_feed.DESCRIPTION, product.getDes()); i.putExtra(Frag_feed.LON, product.getLon()); i.putExtra(Frag_feed.LAT, product.getLat()); startActivity(i); } class FragmentArray extends ArrayAdapter<Product>{ public FragmentArray() { super(Frag_mypage.this.getActivity(), R.layout.row_mypage,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, parent, false); h = new Holder(v); v.setTag(h); } else { h = (Holder) v.getTag(); } h.img.setTag((model.get(position)).getUrl()); h.populate(model.get(position)); return v; } } class Holder { TextView pname; TextView uname; TextView date; ImageView img; public Holder(View v) { pname = (TextView) v.findViewById(R.id.row_pname); uname = (TextView) v.findViewById(R.id.row_uname); date = (TextView) v.findViewById(R.id.row_date); img = (ImageView) v.findViewById(R.id.row_image); } public void populate(Product pr) { if (!pr.getInit() && pr.getUrl().equals(img.getTag())) { pname.setText(pr.getPname()); date.setText(pr.getDate()); uname.setText(pr.getUname()); DownloadProduct dl= new DownloadProduct(this.img, pr); dl.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ""); } else if (pr.getInit() && pr.getUrl().equals(img.getTag())) { pname.setText(pr.getPname()); date.setText(pr.getDate()); uname.setText(pr.getUname()); this.img.setImageBitmap(pr.getBitmap()); } } } public void saveFinish() { } public void init(){ System.out.println("init"); setListAdapter(adapter); ProductTask t= new ProductTask(ProductTask.MYPAGE, this); Product p = new Product(); int uid=((BaseApplication)getActivity().getApplication()).getID(); p.setUid(uid); t.execute(p); } public void reload(List<Product> params) { System.out.println("sizeeee "+params.size()); for(int i=model.size()-1;i>=0;i--){ model.remove(i); } for(int i=0;i<params.size();i++){ model.add(params.get(i)); } adapter.notifyDataSetChanged(); System.out.println("count"+adapter.getCount()); } public void loadMore(List<Product> params) { for(int i=0;i<params.size();i++){ model.add(params.get(i)); } adapter.notifyDataSetChanged(); } }