亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何限制從圖庫中選擇多個圖像?

如何限制從圖庫中選擇多個圖像?

收到一只叮咚 2022-04-28 16:15:21
我已經在我的項目中實現了從圖庫中添加多個圖像選擇。但是,我想限制用戶,以便他/她只能從圖庫中選擇 3 張圖像。我已經實現了從圖庫中選擇多個圖像,如下所示: `Intent intent = new Intent();        intent.setType("image/*");        intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);        intent.setAction(Intent.ACTION_GET_CONTENT);        startActivityForResult(Intent.createChooser(intent, "Select Picture"), 1);`我怎樣才能做到這一點?
查看完整描述

3 回答

?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

您可以在ClipData從圖庫中選擇多個圖像時獲取計數,如果該計數大于 3,您可以通知用戶。


從圖庫中選擇圖像后,您可以執行以下操作:


protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        if(resultCode == RESULT_OK || resultCode != RESULT_CANCELED){

              ClipData clipData = data.getClipData();

              if(clipData.getItemCount() > 3){

                   //notify user here...

              }

        }

}


查看完整回答
反對 回復 2022-04-28
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

把它放在你的 build.gradle(app)


 compile 'com.github.esafirm.android-image-picker:imagepicker:1.5.0'

compile 'com.github.esafirm.android-image-picker:rximagepicker:1.5.0' 

這在你的活動中


private void pickImage() {

    ImagePicker.create(UploadPhotosActivity.this)

            .showCamera(false)

            .limit(3)

            .imageTitle(getString(R.string.select_image))

            .folderTitle(getString(R.string.folder))

            .theme(R.style.ImagePickerTheme)

            .start(RC_CODE_PICKER);


@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);

     if (requestCode == RC_CODE_PICKER) {

            Log.d("===uploadPhoto", "gallery : " + data);

            imagesList = (ArrayList<Image>) ImagePicker.getImages(data);

            Intent intent = new Intent(UploadPhotosActivity.this, ImageCropperActivity.class);

            intent.putExtra(ImageCropperActivity.EXTRA_VIEW_PORT_RATIO, imagesList);

            startActivity(intent);

        }

    } else {

        Intent returnIntent = new Intent();

        setResult(Activity.RESULT_CANCELED, returnIntent);

        finish();

    }

}


查看完整回答
反對 回復 2022-04-28
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

這是不可能的。 https://developer.android.com/reference/android/content/Intent.html#EXTRA_ALLOW_MULTIPLE

您必須手動檢查返回的數據以查看它是否超過 10 個項目,如果是,則顯示 Toast


查看完整回答
反對 回復 2022-04-28
  • 3 回答
  • 0 關注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號