GithubHelp home page GithubHelp logo

lovetuzitong / multiimageselector Goto Github PK

View Code? Open in Web Editor NEW
3.0K 3.0K 802.0 3.91 MB

Deprecated -- Image selector for Android device. Support single choice and multi-choice.

License: MIT License

Java 100.00%

multiimageselector's People

Contributors

lovetuzitong avatar sleepingant avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

multiimageselector's Issues

Question of ListView for folders and Gridview for images

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?

switch back to browse all will show camera grid no matter what

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~.

您好我是之前给你提过意见的dev

你的代码很好 看你的 预览功能做了一半了 但是已经半年没有更新 不知道大神您的预览功能打算什么时候开发 我现在基于您的代码开发预览 也打算做 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 了呢 只是建议 谢谢了

Step 0

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);
}
才能正确的把照片保存到系统相册中。

打开就crash 三星s5 cm android 5.0

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)

红米note调用拍照时应用crash

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)

部分机子列表滚动出错的问题

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) 可避免程序崩溃,

click mCategoryText crash

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)

Crack when rotate to device on Tablet

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

Image Paths recieved But got file not found exception

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

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
请问这个错误是如何引起的?

鼓励一下

code,写的 真的很烂,兄弟是学生党吧?~~

但是 这种开源精神还值得鼓励的~

when a folder is selected, images in the folder and it's sub folder all displayed

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

能不能fork你的代码, 然后修改一下,因为我想把它改成和微信类似,点击之后能够放大

Override My AppName,what's the happed?

Override My AppName,what's the happed?

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)

点击“All Images”时空指针错误

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)

publish to jcenter()

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 空了?有人给解决么?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.