从android设备显示两个图像

问题描述 投票:0回答:1
 @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_adharFrontUploadId:
                pickImage();
                loadAdharFrontImage();
                break;
            case btn_adharBackUploadId:
                pickImage();
                loadAdharBackImage();
                break;
        }
    }

它显示来自设备的两个不同的图像。我写的方法如下

 private void loadAdharBackImage() {
        new Thread() {
            public void run() {
                while (i++ < 1000) {
                    try {
                        runOnUiThread(new Runnable() {

                            @Override
                            public void run() {
                                iv_adharBack.setImageBitmap(decodedWebP);
                            }
                        });
                        sleep(300);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }.start();
    }

    private void loadAdharFrontImage() {
        new Thread() {
            public void run() {
                while (i++ < 1000) {
                    try {
                        runOnUiThread(new Runnable() {

                            @Override
                            public void run() {
                                    iv_adharFront.setImageBitmap(decodedWebP);
                            }
                        });
                        sleep(300);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }.start();
    }

当我通过单击第一个按钮选择第一张图像时,它照常加载第一张图像视图,但是当我单击第二个按钮时,它会立即在第二张图像视图中加载第一张选择的图像,并且在选择第二张图像时,第一个图像视图也会更改为第二个选择的图像。请为此提供解决方案。我对android和编程非常陌生。任何帮助将不胜感激

android methods imageview clicklistener
1个回答
0
投票

谢谢您的支持...最终我得到了答复。无需使用我的问题中提到的runnable。在这里,我可以编写代码以获取不同imageViews的多个图像。再次感谢”

    if (resultCode == RESULT_OK) {

        assert data != null;
        Uri imageUri = data.getData();
        InputStream is = null;
        try {
            assert imageUri != null;
            is = getContentResolver().openInputStream(imageUri);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        assert is != null;
        BufferedInputStream bufferedInputStream = new BufferedInputStream(is);
        Bitmap bitmap = BitmapFactory.decodeStream(bufferedInputStream);
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.WEBP, 60, out);
        Bitmap decodedImage = BitmapFactory.decodeStream(new ByteArrayInputStream(out.toByteArray()));
        switch (requestCode){
            case 1:
                iv_ApplAdharFront.setImageBitmap(decodedImage);
                break;
            case 2:
                iv_ApplAdharBack.setImageBitmap(decodedImage);
                break;
            case 3:
                iv_ApplIdCardFront.setImageBitmap(decodedImage);
                break;
            case 4:
                iv_ApplIdCardBack.setImageBitmap(decodedImage);
                break;

``

© www.soinside.com 2019 - 2024. All rights reserved.