package com.alice.asaproject;

import java.util.ArrayList;
import java.util.List;

import com.alice.asaproject.common.Const_Collect;
import com.alice.asaproject.customview.PopupmenuBar;
import com.alice.asaproject.customview.PopupmenuBar.ActionItem;
import com.alice.asaproject.customview.PopupmenuBar.OnMenuItemClickedListener;
import com.alice.asaproject.domain.SharepreferenceUtil;
import com.alice.asaproject.helper.DBHelper;
import com.alice.asaproject.javabean.ProductBean;
import com.android.volley.RequestQueue;
import com.lidroid.xutils.BitmapUtils;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;

import android.os.Bundle;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.graphics.Bitmap.Config;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.LoaderManager;
import android.support.v4.app.LoaderManager.LoaderCallbacks;
import android.support.v4.content.AsyncTaskLoader;
import android.support.v4.content.Loader;
import android.support.v4.widget.CursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class CollectActivity extends FragmentActivity implements LoaderCallbacks<Cursor> {

 @ViewInject(R.id.listView_collect)
 private ListView listView_collect;
 @ViewInject(R.id.textView_backCollect)
 private TextView textView_backCollect;
 
 private PopupmenuBar popupmenuBar;//弹出菜单
 /**
  * 声明数据源对象
  */
 private List<ProductBean> list=null;
 /**
  * 声明游标对象
  */
 private Cursor cursor;
 /**
  * 声明加载管理器对象
  */
 private LoaderManager loaderManager;
 /**
  *  声明请求队列对象
  */
 private RequestQueue requestQueue;
 /**
  * 声明适配器对象
  */
 private static MyCollectAdapter adapter;
 private BitmapUtils bitmapUtils = null;//加载图片的框架

 private LayoutInflater inflater = null;
 
public  final class MyCollectAdapter extends CursorAdapter{
 
 
  public MyCollectAdapter(Context context, Cursor c, int flags) {
   super(context, c, flags);
   inflater = (LayoutInflater) context    //设置图片缓存
     .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   String discCachePath =context.getExternalCacheDir().getAbsolutePath();
   bitmapUtils = new BitmapUtils(context, discCachePath)
   .configMemoryCacheEnabled(true)
   .configDefaultBitmapMaxSize(300, 300)
   .configDefaultBitmapConfig(Config.ALPHA_8)
   .configDefaultLoadFailedImage(R.drawable.defaultcovers_collect)
   .configThreadPoolSize(5)
   .configDefaultImageLoadAnimation(
     AnimationUtils.loadAnimation(context, R.anim.alpha));
  }
  @Override
  public void bindView(View view, Context context, Cursor cursor) {
   ViewHolder viewHolder=(ViewHolder) view.getTag();
   //找到数据库里的字段
   String id= cursor.getString(cursor.getColumnIndex(Const_Collect.TABLE_NAME_MYCOLLECT_FIELD_ID));
   String  name=cursor.getString(cursor.getColumnIndex(Const_Collect.TABLE_NAME_MYCOLLECT_FIELD_TITLE));
   String  longName=cursor.getString(cursor.getColumnIndex(Const_Collect.TABLE_NAME_MYCOLLECT_FIELD_DESCRIPTION));
   String  aprice=cursor.getString(cursor.getColumnIndex(Const_Collect.TABLE_NAME_MYCOLLECT_FIELD_PRICE));
   String  pno=cursor.getString(cursor.getColumnIndex(Const_Collect.TABLE_NAME_MYCOLLECT_FIELD_PNO));
   String  oldprice=cursor.getString(cursor.getColumnIndex(Const_Collect.TABLE_NAME_MYCOLLECT_FIELD_OLDPRICE));
   String  mainimg=cursor.getString(cursor.getColumnIndex(Const_Collect.TABLE_NAME_MYCOLLECT_FIELD_MAINIMG));
   String  product_id=cursor.getString(cursor.getColumnIndex(Const_Collect.TABLE_NAME_MYCOLLECT_FIELD_P_ID));
//   System.out.println("0000000000000000000000000        "+name );
   ProductBean product=new ProductBean(id, name, pno, longName, mainimg, product_id, aprice, oldprice);
   list.add(product);
//   System.out.println("11111111111111111111111111111111111111         "+list.size());
   
   viewHolder.textView_title.setText(name);
   viewHolder.textView_describ_collect.setText(longName);
   viewHolder.textView_price_collect.setText(aprice);
   bitmapUtils.display(viewHolder.imageView_collectBig,product.getMainimg());
   System.out.println("6666666666666666666666666666666          "+mainimg);
  }

  @Override
  public View newView(Context context, Cursor cursor, ViewGroup viewGroup) {
   ViewHolder viewHolder=new ViewHolder();
   LayoutInflater  inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   View view=inflater.inflate(R.layout.item_collect, viewGroup,false);
   viewHolder.textView_title=(TextView) view.findViewById(R.id.textView_title);
   viewHolder.textView_describ_collect=(TextView) view.findViewById(R.id.textView_describ_collect);
   viewHolder.textView_price_collect=(TextView) view.findViewById(R.id.textView_price_collect);
   viewHolder.imageView_collectBig = (ImageView) view.findViewById(R.id.imageView_collectBig);
   view.setTag(viewHolder);
   return view;
  }
  class ViewHolder{
   ImageView imageView_collectBig;
   TextView textView_title,textView_describ_collect,textView_price_collect;
  }
 }
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  requestWindowFeature(Window.FEATURE_NO_TITLE);
  setContentView(R.layout.activity_collect);
  initView();
  initPopupmenuBar();//初始化弹出窗体
 }
 private void initPopupmenuBar() {
  // 实例化标题栏弹窗
  popupmenuBar=new PopupmenuBar(this,  R.layout.popupwindow_menu,
    R.id.title_list,Color.WHITE, LayoutParams.WRAP_CONTENT,
    LayoutParams.WRAP_CONTENT);
  // 设置弹窗的布局界面
//  popupmenuBar.setContentView(LayoutInflater.from(MainActivity.this).inflate(R.layout.item_popupwindow, null));
  
  // 给标题栏弹窗添加子类
    popupmenuBar.addAction(new PopupmenuBar.ActionItem(this, "个人中心",
      R.drawable.mm_title_btn_compose_normal));
    popupmenuBar.addAction(new PopupmenuBar.ActionItem(this, "我的收藏",
      R.drawable.mm_title_btn_keyboard_normal));
    popupmenuBar.addAction(new PopupmenuBar.ActionItem(this, "系统设置",
      R.drawable.mm_title_btn_receiver_normal));
    popupmenuBar.setOnMenuItemClickedListener(new OnMenuItemClickedListener() {
     
     @Override
     public void onItemClicked(ActionItem item, int position) {
      switch (position) {
      case 0:
       boolean boolean1=SharepreferenceUtil.getBoolean(CollectActivity.this, "login");
       if(boolean1==true){
        Toast.makeText(CollectActivity.this, "登录成功了。。", Toast.LENGTH_SHORT).show();
      }else{
       Intent intent=new Intent(CollectActivity.this,LoginActivity.class);
        startActivity(intent);
      }
       break;
      case 1:
       Intent intent2=new Intent(CollectActivity.this,CollectActivity.class);
       startActivity(intent2);
      
       break;
      case 2:
       Intent intent3=new Intent();
       intent3.setClass(CollectActivity.this, SystemSettingsActivity.class);
       startActivity(intent3);
       break;
      default:
       break;
      }
     }
    });
    
    
 }
 
 public void click(View v){
  popupmenuBar.show(v);
 }

 private void initView() {
  ViewUtils.inject(this);
//  this.requestQueue=Volley.newRequestQueue(this);
  list=new ArrayList<ProductBean>();
//  this.imageLoader=ImageLoaderUtils.getImageLoader(requestQueue);
  this.loaderManager=this.getSupportLoaderManager();
  this.loaderManager.initLoader(0, null, this);
  
  adapter=new MyCollectAdapter(CollectActivity.this, cursor, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
  listView_collect.setAdapter(adapter);
  
  textView_backCollect.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    finish();
   }
  });
 }
 static class MyLoader extends AsyncTaskLoader<Cursor>{
  private Context context;
  public MyLoader(Context context) {
   super(context);
   this.context=context;
  }
  
  @Override
  protected void onStartLoading() {
   if(takeContentChanged()){
    forceLoad();
   }
   
   this.loadInBackground();
  }
  
  @Override
  public Cursor loadInBackground() {
   DBHelper dbHelper=DBHelper.getInstance(context);
   SQLiteDatabase db=dbHelper.getReadableDatabase();
   Cursor cursor=db.query(Const_Collect.TABLE_NAME_MYCOLLECT, null, null, null, null, null, null);
   cursor.moveToFirst();//此处必须移到第一行
   adapter.swapCursor(cursor);
   adapter.notifyDataSetChanged();
   return cursor;
  }
 }
 @Override
 public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
  return new MyLoader(CollectActivity.this);
 }
 @Override
 public void onLoadFinished(Loader<Cursor> arg0, Cursor arg1) {
  
 }
 @Override
 public void onLoaderReset(Loader<Cursor> arg0) {
  
 }
 @Override
 protected void onDestroy() {
  super.onDestroy();
//  this.requestQueue.stop();
 }
}

posted on 2016-01-13 09:41  Jinger1992223  阅读(170)  评论(0编辑  收藏  举报