首页

android 图片的多项选择 Demo源码下载

java

2020-8-4

package com.why.photoaibum;
import java.util.ArrayList;

import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.os.Handler;
import android.provider.MediaStore;
import android.provider.MediaStore.Images.Media;
import android.provider.MediaStore.Images.Thumbnails;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.GridView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.why.photoaibum.adapter.PhotoAdappter;
import com.why.photoaibum.entities.PhotoAibum;
import com.why.photoaibum.entities.PhotoItem;

public class PhotoActivity extends Activity  {
	private GridView gv,gl_bottom;
	private PhotoAibum aibum;
	private PhotoAdappter adapter;
	private TextView tv;
	private int chooseNum = 0;
	private Button btn_sure;
	private LayoutInflater inflater;
	
	private ArrayList<PhotoItem> gl_arr=new ArrayList<PhotoItem>();
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_photoalbum_gridview);
		btn_sure=(Button)findViewById(R.id.btn_sure);
		aibum = (PhotoAibum)getIntent().getExtras().get("aibum");
		/**获取已经选择的图片**/
		for (int i = 0; i < aibum.getBitList().size(); i  ) {
			if(aibum.getBitList().get(i).isSelect()){
				chooseNum  ;
			}
		}
		gv =(GridView)findViewById(R.id.photo_gridview);
		gl_bottom=(GridView)findViewById(R.id.gl_bottom);
		adapter = new PhotoAdappter(this,aibum,null);
		gv.setAdapter(adapter);
		gv.setOnItemClickListener(gvItemClickListener);
		btn_sure.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Toast.makeText(PhotoActivity.this, paths.toString(), 3000).show();
				Log.e("info", paths.toString());
			}
		});
		gl_bottom.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				String path=gl_adapter.getItem(position).getPath();
				Intent intent=new Intent(PhotoActivity.this, ShowBigPic.class);
				intent.putExtra("path", path);
				startActivity(intent);
			}
		});
	}
	PhotoAdappter gl_adapter= new PhotoAdappter(this,aibum,gl_arr);//
	private void inite(PhotoItem str,boolean isSeclect){//初始化被选中的图片的方法  将图片添加或者删除
		
		if (isSeclect) {
			btn_sure.setText("确定(" gl_arr.size() ")");
		}
	   else{
		btn_sure.setText("确定(" gl_arr.size() ")");
	}
	inflater = (LayoutInflater) this
			.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
	gl_bottom.setAdapter(gl_adapter);
	int size = gl_arr.size();
	DisplayMetrics dm = new DisplayMetrics();
	getWindowManager().getDefaultDisplay().getMetrics(dm);
	float density = dm.density;
	int allWidth = (int) (110 * size * density);
	int itemWidth = (int) (75 * density);
	LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
			allWidth, LinearLayout.LayoutParams.FILL_PARENT);
	gl_bottom.setLayoutParams(params);
	gl_bottom.setColumnWidth(itemWidth);
	gl_bottom.setHorizontalSpacing(10);
	gl_bottom.setStretchMode(GridView.NO_STRETCH);
	gl_bottom.setNumColumns(size);
	
}
	private ArrayList<String> paths=new ArrayList<String>();
	private ArrayList<String> ids=new ArrayList<String>();
	private OnItemClickListener gvItemClickListener = new OnItemClickListener() {

		@Override
		public void onItemClick(AdapterView<?> parent, View view, int position,
				long id) {
			PhotoItem gridItem=aibum.getBitList().get(position);
			if( aibum.getBitList().get(position).isSelect()){
				aibum.getBitList().get(position).setSelect(false);
				paths.remove(aibum.getBitList().get(position).getPath());
				ids.remove(aibum.getBitList().get(position).getPhotoID() "");
				gl_arr.remove(aibum.getBitList().get(position));
				chooseNum--;
				inite(aibum.getBitList().get(position), aibum.getBitList().get(position).isSelect());
			}else{
				aibum.getBitList().get(position).setSelect(true);
				ids.add(aibum.getBitList().get(position).getPhotoID() "");
				paths.add(aibum.getBitList().get(position).getPath());
				gl_arr.add(aibum.getBitList().get(position));
				chooseNum  ;
				inite(aibum.getBitList().get(position), aibum.getBitList().get(position).isSelect());
			}
			adapter.notifyDataSetChanged();
		}
	};
}
资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
PhotoAibum/.classpath , 475
PhotoAibum/.project , 846
PhotoAibum/.settings/org.eclipse.core.resources.prefs , 57
PhotoAibum/AndroidManifest.xml , 1280
PhotoAibum/bin/AndroidManifest.xml , 1280
PhotoAibum/bin/classes.dex , 574256
PhotoAibum/bin/classes/com/why/photoaibum/adapter/PhotoAdappter.class , 3238
PhotoAibum/bin/classes/com/why/photoaibum/adapter/PhotoAibumAdapter$ViewHolder.class , 529
PhotoAibum/bin/classes/com/why/photoaibum/adapter/PhotoAibumAdapter.class , 3355
PhotoAibum/bin/classes/com/why/photoaibum/BuildConfig.class , 345
PhotoAibum/bin/classes/com/why/photoaibum/entities/MyGridView.class , 1119
PhotoAibum/bin/classes/com/why/photoaibum/entities/PhotoAibum.class , 2215
PhotoAibum/bin/classes/com/why/photoaibum/entities/PhotoItem.class , 1610
PhotoAibum/bin/classes/com/why/photoaibum/PhotoActivity$1.class , 2902
PhotoAibum/bin/classes/com/why/photoaibum/PhotoActivity$2.class , 1201
PhotoAibum/bin/classes/com/why/photoaibum/PhotoActivity$3.class , 1845
PhotoAibum/bin/classes/com/why/photoaibum/PhotoActivity.class , 5688
PhotoAibum/bin/classes/com/why/photoaibum/PhotoAlbumActivity$1.class , 1715
PhotoAibum/bin/classes/com/why/photoaibum/PhotoAlbumActivity.class , 4868
PhotoAibum/bin/classes/com/why/photoaibum/PhotoGridItem.class , 2427
PhotoAibum/bin/classes/com/why/photoaibum/R$attr.class , 340
PhotoAibum/bin/classes/com/why/photoaibum/R$dimen.class , 461
PhotoAibum/bin/classes/com/why/photoaibum/R$drawable.class , 508
PhotoAibum/bin/classes/com/why/photoaibum/R$id.class , 801
PhotoAibum/bin/classes/com/why/photoaibum/R$layout.class , 584
PhotoAibum/bin/classes/com/why/photoaibum/R$menu.class , 388
PhotoAibum/bin/classes/com/why/photoaibum/R$string.class , 472
PhotoAibum/bin/classes/com/why/photoaibum/R$style.class , 431
PhotoAibum/bin/classes/com/why/photoaibum/R.class , 673
PhotoAibum/bin/classes/com/why/photoaibum/ShowBigPic.class , 1379
PhotoAibum/bin/dexedLibs/android-support-v4-277960e7806a04ec2bfb8ce8845abf24.jar , 189231
PhotoAibum/bin/PhotoAlbumActivity.apk , 246219
PhotoAibum/bin/resources.ap_ , 47126
PhotoAibum/bin/res/drawable-hdpi/cb_normal.png , 331
PhotoAibum/bin/res/drawable-hdpi/cb_on.png , 872
PhotoAibum/bin/res/drawable-hdpi/ic_launcher.png , 5964
PhotoAibum/bin/res/drawable-hdpi/ssp_queding_btn.png , 1013
PhotoAibum/bin/res/drawable-mdpi/ic_launcher.png , 3112
PhotoAibum/bin/res/drawable-xhdpi/ic_launcher.png , 9355
PhotoAibum/bin/res/drawable-xxhdpi/ic_launcher.png , 17889
PhotoAibum/gen/com/why/photoaibum/BuildConfig.java , 160
PhotoAibum/gen/com/why/photoaibum/R.java , 3579
PhotoAibum/ic_launcher-web.png , 51394
PhotoAibum/libs/android-support-v4.jar , 484258
PhotoAibum/proguard-project.txt , 781
PhotoAibum/project.properties , 563
PhotoAibum/res/drawable-hdpi/cb_normal.png , 331
PhotoAibum/res/drawable-hdpi/cb_on.png , 872
PhotoAibum/res/drawable-hdpi/ic_launcher.png , 7658
PhotoAibum/res/drawable-hdpi/ssp_queding_btn.png , 804
PhotoAibum/res/drawable-mdpi/ic_launcher.png , 3777
PhotoAibum/res/drawable-xhdpi/ic_launcher.png , 12516
PhotoAibum/res/drawable-xxhdpi/ic_launcher.png , 24777
PhotoAibum/res/layout/activity_photoalbum.xml , 561
PhotoAibum/res/layout/activity_photoalbum_gridview.xml , 2673
PhotoAibum/res/layout/photoalbum_gridview_item.xml , 714
PhotoAibum/res/layout/photoalbum_item.xml , 670
PhotoAibum/res/layout/show_big_pic.xml , 405
PhotoAibum/res/menu/main.xml , 263
PhotoAibum/res/values-sw600dp/dimens.xml , 203
PhotoAibum/res/values-sw720dp-land/dimens.xml , 277
PhotoAibum/res/values-v11/styles.xml , 334
PhotoAibum/res/values-v14/styles.xml , 391
PhotoAibum/res/values/dimens.xml , 220
PhotoAibum/res/values/strings.xml , 227
PhotoAibum/res/values/styles.xml , 697
PhotoAibum/src/com/why/photoaibum/adapter/PhotoAdappter.java , 2156
PhotoAibum/src/com/why/photoaibum/adapter/PhotoAibumAdapter.java , 1998
PhotoAibum/src/com/why/photoaibum/entities/MyGridView.java , 764
PhotoAibum/src/com/why/photoaibum/entities/PhotoAibum.java , 1283
PhotoAibum/src/com/why/photoaibum/entities/PhotoItem.java , 933
PhotoAibum/src/com/why/photoaibum/PhotoActivity.java , 4814
PhotoAibum/src/com/why/photoaibum/PhotoAlbumActivity.java , 3533
PhotoAibum/src/com/why/photoaibum/PhotoGridItem.java , 1759
PhotoAibum/src/com/why/photoaibum/ShowBigPic.java , 865
没有账号? 忘记密码?

社交账号快速登录