zoukankan      html  css  js  c++  java
  • 读取数据库的文字和网址时显示到listview上

    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();
     }
    }

  • 相关阅读:
    HTML多余字符省略号显示,获取jstl表达式传过来的值(内容)
    去除layui表头右边的功能键
    常用正则表达式
    layui注册页面
    怎样将写入到input框中的数据显示到页面上
    layui 添加功能
    python3 -- 去除字符串头尾字符 strip()
    Linux -- tar 命令
    PyMySql -- 常用方法
    MySQL -- 目录
  • 原文地址:https://www.cnblogs.com/Jingerxin/p/5126283.html
Copyright © 2011-2022 走看看