lovetuzitong / multiimageselector Goto Github PK
View Code? Open in Web Editor NEWDeprecated -- Image selector for Android device. Support single choice and multi-choice.
License: MIT License
Deprecated -- Image selector for Android device. Support single choice and multi-choice.
License: MIT License
Your library works well, but I have a question of how could I separate the ListView and GridView into 2 pages, I am trying to achieve display the ListView for folders then when user select one of the item then goto the next page which is GridView for images. In this case, is it I need to create 2 fragment and use the callback to get the photos from ListView?
如题
when switch to browse another folder, and then switch back to browse all images,
the camera grid will be shown regardless of whether the camera is requested.
solution is simple:
@@ -271,7 +273,9 @@ public class MultiImageSelectorFragment extends Fragment {
if (i == 0) {
getActivity().getSupportLoaderManager().restartLoader(LOADER_ALL, null, mLoaderCallback);
mCategoryText.setText(R.string.folder_all);
-- mImageAdapter.setShowCamera(true);
++ if (mIsShowCamera) {
++ mImageAdapter.setShowCamera(true);
++ }
} else {
Folder folder = (Folder) adapterView.getAdapter().getItem(i);
if (null != folder) {
@lovetuzitong wish you consider this~.
MultiImageSelectorActivity执行finish后内存无法释放!MAT工具显示Picasso内部的Dispatcher线程一直持有MultiImageSelectorActivity,而且这个Dispatcher线程一直长期运行,导致无法释放内存。
只要把Picasso.shutdown就行了。
when i add code follow with you Readme to my project ,
I find a amazing thing My app name became to be a '多图选择器‘,this is a bug,How auto become User's project name?this is a problem
https://android-arsenal.com/details/1/1713
compile 'com.github.lovetuzitong:MultiImageSelector:9ec224078b'
Doesn't work.
修改引进:import android.widget.ListPopupWindow;
你的代码很好 看你的 预览功能做了一半了 但是已经半年没有更新 不知道大神您的预览功能打算什么时候开发 我现在基于您的代码开发预览 也打算做 viewpager + fragment 但是估计代码水平您看不上 pull request 也不会被采纳 你要是看到我的信息能不能给点思路 做预览的
package io.rong.app.photo2;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
import io.rong.app.R;
/**
Created by AMing on 15/10/14.
*/
public class PreviewActivity extends FragmentActivity implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
private ArrayList previewList; //相册界面传来用户选择的图片数据
private ViewPager mViewPager; // ViewPager
private MyAdapter mMyAdapter;
private ImageView mImageBack; //返回箭头
private TextView mTextCount; // 当前第N张/总张数
private Button mButtonSend; // 发送字样
private CheckBox mCheBoxSelect , mCheBoxPictrue; // 选择勾选框 原图勾选框
private TextView mTextSize; // 原图大小
@OverRide
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rc_preview_activity);
previewList = getIntent().getStringArrayListExtra("resultList");
if(previewList != null && previewList.size() > 0)
for(String s : previewList){
Log.e("PreviewActivity", "PreviewActivity is :" + s);
}
initView();
}
private void initView() {
mViewPager = (ViewPager) findViewById(R.id.rc_pre_viewpager);
mImageBack = (ImageView) findViewById(R.id.btn_back);
mTextCount = (TextView) findViewById(R.id.rc_preview_string);
mButtonSend = (Button) findViewById(R.id.commit);
mTextCount.setText("1/"+previewList.size());
mButtonSend.setText("发送"+"("+previewList.size()+"/"+previewList+")"); //前一个值换成最后选中的张数
mCheBoxPictrue = (CheckBox) findViewById(R.id.isOriginalImage);
mCheBoxSelect = (CheckBox) findViewById(R.id.rc_pre_select);
mImageBack.setOnClickListener(this);
mButtonSend.setOnClickListener(this);
mCheBoxPictrue.setOnCheckedChangeListener(this);
mCheBoxSelect.setOnCheckedChangeListener(this);
mCheBoxSelect.setChecked(true); // 选择都默认选中
mCheBoxPictrue.setChecked(false); //原图都默认不勾选
if (previewList != null && previewList.size() > 0) {
mMyAdapter = new MyAdapter(getSupportFragmentManager(),previewList);
mViewPager.setAdapter(mMyAdapter);
}
}
@OverRide
public void onClick(View v) {
if (v.getId() == R.id.btn_back) {//返回
finish();
}else if (v.getId() == R.id.commit) {//发送
finish();
}
}
@OverRide
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (buttonView.getId() == R.id.isOriginalImage) {//是否发送原图
}else if(buttonView.getId() == R.id.rc_pre_select){//当前预览单张图片是否被发送
}
}
private class MyAdapter extends FragmentStatePagerAdapter{
ArrayList<String> al;
public MyAdapter(FragmentManager fm , ArrayList<String> al) {
super(fm);
this.al = al;
}
@Override
public Fragment getItem(int position) {
return new PreviewFragment(PreviewActivity.this, Uri.parse(al.get(position)));
}
@Override
public int getCount() {
return al.size();
}
}
}
这是我写了大概一半的代码 还请大神指点一下 给点思路
我看到您用 毕加索的包 只用了两处一处是加载出图片 一处是滑动监听里面 不滑动才加载 滑动暂停加载 这个地方您能不能 把需要用到 毕加索的 的包源码抽取出来 这样代码里面就不需要这个 jar 了呢 只是建议 谢谢了
THX
通过相机拍照查找到的图片的方向被左转了90度,图库选择出来的是正常的。
Hello ,
"Step 0 Add module multi-image-selector as your dependence "--> What i have to do? Pls help!
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.github.lovetuzitong:multi-image-selector'
}
doesn't work!
1.修改MultiImageSelectorActivity.java文件中的onCameraShot(File imageFile),加入以下一行代码用于通知系统跟新相册:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(imageFile)));// 刷新系统相册
修改后才能正常的从相册中看到刚拍的照片。
2.修改FileUtils.java
把File pic = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);这一行代码改成:
File pic = null;
pic = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM+ "/Camera");
if (!pic.exists()) {
pic = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
}
才能正确的把照片保存到系统相册中。
gradle的时候用了新版本的picasso,不知道有没有影响
Process: me.nereo.multiimageselector, PID: 14832
java.lang.NullPointerException: Attempt to invoke virtual method 'char[] java.lang.String.toCharArray()' on a null object reference
at java.io.File.fixSlashes(File.java:185)
at java.io.File.(File.java:134)
at me.nereo.multi_image_selector.MultiImageSelectorFragment$8.onLoadFinished(MultiImageSelectorFragment.java:489)
at me.nereo.multi_image_selector.MultiImageSelectorFragment$8.onLoadFinished(MultiImageSelectorFragment.java:449)
at android.support.v4.app.LoaderManagerImpl$LoaderInfo.callOnLoadFinished(LoaderManager.java:427)
at android.support.v4.app.LoaderManagerImpl$LoaderInfo.onLoadComplete(LoaderManager.java:395)
at android.support.v4.content.Loader.deliverResult(Loader.java:104)
at android.support.v4.content.CursorLoader.deliverResult(CursorLoader.java:73)
at android.support.v4.content.CursorLoader.deliverResult(CursorLoader.java:35)
at android.support.v4.content.AsyncTaskLoader.dispatchOnLoadComplete(AsyncTaskLoader.java:223)
at android.support.v4.content.AsyncTaskLoader$LoadTask.onPostExecute(AsyncTaskLoader.java:61)
at android.support.v4.content.ModernAsyncTask.finish(ModernAsyncTask.java:461)
at android.support.v4.content.ModernAsyncTask.access$500(ModernAsyncTask.java:47)
at android.support.v4.content.ModernAsyncTask$InternalHandler.handleMessage(ModernAsyncTask.java:474)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5256)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
02-28 10:31:43.758 959-1521/? I/WindowState﹕ WIN DEATH: Window{42d80968 u0 me.nereo.multiimageselector/me.nereo.multiimageselector.MainActivity}
02-28 10:31:43.768 959-1013/? W/InputDispatcher﹕ channel '42d90af0 me.nereo.multiimageselector/me.nereo.multi_image_selector.MultiImageSelectorActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9
02-28 10:31:43.768 959-1013/? E/InputDispatcher﹕ channel '42d90af0 me.nereo.multiimageselector/me.nereo.multi_image_selector.MultiImageSelectorActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
02-28 10:31:43.768 959-1284/? W/InputDispatcher﹕ Attempted to unregister already unregistered input channel '42d90af0 me.nereo.multiimageselector/me.nereo.multi_image_selector.MultiImageSelectorActivity (server)'
02-28 10:31:43.768 959-1354/? I/ActivityManager﹕ Process me.nereo.multiimageselector (pid 21724) has died.
02-28 10:31:43.768 959-1284/? I/WindowState﹕ WIN DEATH: Window{42d90af0 u0 me.nereo.multiimageselector/me.nereo.multi_image_selector.MultiImageSelectorActivity}
02-28 10:31:46.048 22172-22172/? E/dalvikvm﹕ /system/priv-app/MiuiHome.apk odex has stale dependencies
在FragmentActivity中调用的
Intent intent = new Intent(MainActivity.this, MultiImageSelectorActivity.class);
// 是否显示调用相机拍照
intent.putExtra(MultiImageSelectorActivity.EXTRA_SHOW_CAMERA, true);
// 最大图片选择数量
intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_COUNT, 9);
// 设置模式 (支持 单选/MultiImageSelectorActivity.MODE_SINGLE 或者 多选/MultiImageSelectorActivity.MODE_MULTI)
intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_MODE, MultiImageSelectorActivity.MODE_MULTI);
startActivityForResult(intent, Constants.PICK_IMAGE_REQUEST_CODE);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == Constants.PICK_IMAGE_REQUEST_CODE){
if(resultCode == RESULT_OK){
// 获取返回的图片列表
List<String> path = data.getStringArrayListExtra(MultiImageSelectorActivity.EXTRA_RESULT);
// 处理你自己的逻辑 ....
for(String pic:path){
System.out.println("pic:" + pic);
}
}
}
}
06-06 00:47:03.093 12159-12159/com.sheng00.app.hu I/dalvikvm﹕ Could not find method android.widget.PopupWindow.showAsDropDown, referenced from method android.support.v7.internal.widget.AppCompatPopupWindow.showAsDropDown
06-06 00:47:03.093 12159-12159/com.sheng00.app.hu W/dalvikvm﹕ VFY: unable to resolve virtual method 12719: Landroid/widget/PopupWindow;.showAsDropDown (Landroid/view/View;III)V
06-06 00:47:03.093 12159-12159/com.sheng00.app.hu D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x000f
06-06 00:47:03.093 12159-12159/com.sheng00.app.hu I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
06-06 00:47:03.093 12159-12159/com.sheng00.app.hu W/dalvikvm﹕ VFY: unable to resolve virtual method 616: Landroid/content/res/TypedArray;.getChangingConfigurations ()I
06-06 00:47:03.093 12159-12159/com.sheng00.app.hu D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
06-06 00:47:03.093 12159-12159/com.sheng00.app.hu I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.internal.widget.TintTypedArray.getType
06-06 00:47:03.093 12159-12159/com.sheng00.app.hu W/dalvikvm﹕ VFY: unable to resolve virtual method 638: Landroid/content/res/TypedArray;.getType (I)I
06-06 00:47:03.093 12159-12159/com.sheng00.app.hu D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
06-06 00:47:03.093 12159-12159/com.sheng00.app.hu W/dalvikvm﹕ method Landroid/support/v7/internal/widget/ListViewCompat;.lookForSelectablePosition incorrectly overrides package-private method with same name in Landroid/widget/ListView;
06-06 00:47:03.133 12159-12159/com.sheng00.app.hu D/AndroidRuntime﹕ Shutting down VM
06-06 00:47:03.133 12159-12159/com.sheng00.app.hu W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x3c9b3ad8)
06-06 00:47:03.143 12159-12159/com.sheng00.app.hu E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at android.support.v7.internal.widget.ListViewCompat.drawableStateChanged(ListViewCompat.java:91)
at android.view.View.refreshDrawableState(View.java:14613)
at android.view.View.dispatchAttachedToWindow(View.java:12170)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2454)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2461)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1207)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1004)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5481)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
at android.view.Choreographer.doCallbacks(Choreographer.java:562)
at android.view.Choreographer.doFrame(Choreographer.java:532)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5136)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:740)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
at dalvik.system.NativeStart.main(Native Method)
The ListPopwindow could't show as expacted.It should be showed up above the footer,in fact it showed up below the footer.
多选图片直接崩溃,单选又没有问题,是为什么呢?
我用小米note 拍照出错,求解答
java.lang.NullPointerException: Attempt to invoke virtual method 'char[] java.lang.String.toCharArray()' on a null object reference
at java.io.File.fixSlashes(File.java:185)
at java.io.File.(File.java:134)
at me.nereo.multi_image_selector.utils.TimeUtils.formatPhotoDate(TimeUtils.java:27)
at me.nereo.multi_image_selector.MultiImageSelectorFragment$3.onScroll(MultiImageSelectorFragment.java:211)
出错都是在new File(path),猜测是部分图片本身有错的问题,在朋友的日常使用机子上发现。不保证其他安装者不会有出错的图片,所有在new File时候判断 if(path != null) 可避免程序崩溃,
crash occur when click mCategoryText. for now i did not figure out why.
点击目录选择按钮崩溃.
04-23 09:56:08.888 2878 2878 E AndroidRuntime: java.lang.NullPointerException
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.support.v7.internal.widget.ListViewCompat.drawableStateChanged(ListViewCompat.java:91)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.view.View.refreshDrawableState(View.java:15136)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.view.View.dispatchAttachedToWindow(View.java:12608)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2458)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1247)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1015)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5717)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:574)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:544)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:733)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.os.Looper.loop(Looper.java:136)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5137)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:515)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611)
04-23 09:56:08.888 2878 2878 E AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
E/OpenGLRenderer﹕ SFEffectCache:clear(), mSize = 0
错误信息
android5.0系统
Hello.
I'm applying to your source.
I find problem to use MultiImageSelectorActivity when rotate device.
Append exception message this.
thx.
Device : Samsung Galaxy Tab 10.1
OS Version : 4.4.4 Kitkat
Exception Messages
java.lang.IllegalArgumentException: At least one dimension has to be positive number.
at com.squareup.picasso.Request$Builder.resize(Request.java:305)
at com.squareup.picasso.RequestCreator.resize(RequestCreator.java:219)
at me.nereo.multi_image_selector.adapter.ImageGridAdapter$ViewHolde.bindData(ImageGridAdapter.java:255)
at me.nereo.multi_image_selector.adapter.ImageGridAdapter.getView(ImageGridAdapter.java:214)
at android.widget.AbsListView.obtainView(AbsListView.java:2800)
at android.widget.GridView.onMeasure(GridView.java:1065)
at android.view.View.measure(View.java:17619)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455)
at android.view.View.measure(View.java:17619)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5428)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:17619)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5428)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:17619)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5428)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:17619)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5428)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:17619)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5428)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:17619)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5428)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2588)
at android.view.View.measure(View.java:17619)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2328)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1436)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1634)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1294)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6725)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:813)
at android.view.Choreographer.doCallbacks(Choreographer.java:613)
at android.view.Choreographer.doFrame(Choreographer.java:583)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:799)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5744)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)
1 看你图片加载用了 picasso 这里建议可以换成自己的加载类 这样别人集成您的这个图片加载框架不会对 APK 增量进行增大 👍 特别是 对于 SDK 开发 如果加了第三方导致别人用 picasso 的时候会造成多jar 冲突
2 🇨🇳 不知道您是不是 **人 看得懂我写的不 因为看你代码里面写了很多中文注释 应该是**的开发者吧 最新 我公司项目中 也需要开发了 多选相册 排序 预览 我都自己做完了 但是一直也有一些 bug 希望可以跟您 探讨一下
3 我看还一些拍照的朋友唤起相机就 crash 了 应该是 某些机型 rom 太小 唤起相机就把底下栈的资源回收了 导致的这个情况
比如我目前是 判断 jpg jepg bmp png 结尾字符串来获取 uri 但是 有的图片其实是损坏了的 这样加载出来就是 白色 而且我在后期已经做了 图片多选预览功能 也可以 pull request 整合到您的项目里面
希望能获得您的联系方式
QQ: 623414533
TEL : 13120241790
EMAIL: [email protected]
👻 Thanks
Hi,
This library crashing and taking too long to handle images on real devices running Android 5.0+ but there is no problem on the emulator!
Hi...I am using this library for my project and i did it perfectly and images paths am receiving in onActivityResult() in my activity. But am getting FileNotFound Excpetion when tried to show the result images.
选择拍照后图片显示不出来
Error:Execution failed for task ':app:dexDebug'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_05\bin\java.exe'' finished with non-zero exit value 2
请问这个错误是如何引起的?
Process 'command '/home/king/ide/android-sdk-linux/build-tools/22.0.1/aapt'' finished with non-zero exit value 1
It is always in Chinese. Can you please fix this? Thanks.
DCIM下面的拍照的文件显示不了啊
code,写的 真的很烂,兄弟是学生党吧?~~
但是 这种开源精神还值得鼓励的~
sub folder images should not be displayed.
}else if(id == LOADER_CATEGORY){
CursorLoader cursorLoader = new CursorLoader(getActivity(),
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, IMAGE_PROJECTION,
IMAGE_PROJECTION[0]+" like '%"+args.getString("path")+"%'", null, IMAGE_PROJECTION[2] + " DESC");
return cursorLoader;
}
this causes the problem.
hi,我这边修改了一部分代码,去掉了layout14,直接用了。
修复了几个bug:
1.部分机型打开相机拍照会挂机;
2.部分机型拍照成功,但是没有保存到图库;
3.图片多选时,如果已经数量达到,仍然可以点击相机;
4.增加查询图片width,height。
能不能fork你的代码, 然后修改一下,因为我想把它改成和微信类似,点击之后能够放大
when i add code follow with you Readme to my project ,
I find a amazing thing My app name became to be a '多图选择器‘,this is a bug,How auto become User's project name?this is a problem
呵呵。才发现原来里面是中文注释。。
选择相机的时候,当图片数量为最大时,不应该能够点击拍照了。应该提示已经到达最大数量。
这样比较合理。
在图片选择页面点击左下角“所有照片”切换其他目录时报NullPointerException了。堆栈信息如下:
FATAL EXCEPTION: main
java.lang.NullPointerException
at me.nereo.multi_image_selector.adapter.FolderAdapter$ViewHolder.bindData(FolderAdapter.java:155)
at me.nereo.multi_image_selector.adapter.FolderAdapter.getView(FolderAdapter.java:96)
at android.support.v7.internal.widget.ListViewCompat.measureHeightOfChildrenCompat(ListViewCompat.java:290)
at android.support.v7.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1200)
at android.support.v7.widget.ListPopupWindow.show(ListPopupWindow.java:584)
at me.nereo.multi_image_selector.MultiImageSelectorFragment$1.onClick(MultiImageSelectorFragment.java:157)
at android.view.View.performClick(View.java:4367)
at android.view.View$PerformClick.run(View.java:17984)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5297)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)
建议把项目提交到仓库吧,这样用起来方便啊!
12-29 14:50:58.304 10003-10003/com.itojoy.book E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.itojoy.book, PID: 10003
java.lang.NullPointerException
at android.support.v7.internal.widget.ListViewCompat.drawableStateChanged(ListViewCompat.java:91)
at android.view.View.refreshDrawableState(View.java:15166)
at android.view.View.dispatchAttachedToWindow(View.java:12621)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2458)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2465)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1274)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1057)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5666)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at android.view.Choreographer.doCallbacks(Choreographer.java:574)
at android.view.Choreographer.doFrame(Choreographer.java:544)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5072)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
at dalvik.system.NativeStart.main(Native Method)
Thanks for submit this, is that okay to publish to online hosting service, like jcenter() for easy gradle dependency?
调用了这个开源库,但是空指针异常了?请问是怎么回事?
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tyky.partyhongyun/me.nereo.multi_image_selector.MultiImageSelectorActivity}: java.lang.NullPointerException
this.mFunctionConfig 空了?有人给解决么?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.