【问题标题】:How to display multiple image view in android studio如何在android studio中显示多个图像视图
【发布时间】:2017-02-25 09:55:44
【问题描述】:

我想显示多个图像视图,这些图像是从相机拍摄的。但是,我只知道如何显示 1。有人知道如何显示多个图像视图吗?感谢您的帮助!

public class ItemRegisterActivity extends AppCompatActivity {
private static final int CAMERA_REQUEST = 1888;
private ImageView imageView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_item_register);
    this.imageView = (ImageView)this.findViewById(R.id.imageView1);
    imageView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, CAMERA_REQUEST);
        }
    });

}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {
        Bitmap photo = (Bitmap) data.getExtras().get("data");
        imageView.setImageBitmap(photo);
    }
}
}

其实我有这样的解决方案

public class ItemRegisterActivity extends AppCompatActivity {
private static final int CAMERA_REQUEST = 1888;
private ImageView imageView1,imageView2,imageView3,imageView4;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_item_register);
    this.imageView1 = (ImageView)this.findViewById(R.id.imageView1);
    imageView1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, 1);
        }
    });
    this.imageView2 = (ImageView)this.findViewById(R.id.imageView2);
    imageView2.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, 2);
        }
    });
    this.imageView3 = (ImageView)this.findViewById(R.id.imageView3);
    imageView3.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, 3);
        }
    });
    this.imageView4 = (ImageView)this.findViewById(R.id.imageView4);
    imageView4.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, 4);
        }
    });
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 1 && resultCode == Activity.RESULT_OK) {
        Bitmap photo = (Bitmap) data.getExtras().get("data");
        imageView1.setImageBitmap(photo);
    }
    if (requestCode == 2 && resultCode == Activity.RESULT_OK) {
        Bitmap photo = (Bitmap) data.getExtras().get("data");
        imageView2.setImageBitmap(photo);
    }
    if (requestCode == 3 && resultCode == Activity.RESULT_OK) {
        Bitmap photo = (Bitmap) data.getExtras().get("data");
        imageView3.setImageBitmap(photo);
    }
    if (requestCode == 4 && resultCode == Activity.RESULT_OK) {
        Bitmap photo = (Bitmap) data.getExtras().get("data");
        imageView4.setImageBitmap(photo);
    }
}
}

还有其他方法可以做到这一点吗?必须使用回收视图?谢谢!

【问题讨论】:

  • 使用回收站视图
  • 你介意给我举个例子吗?谢谢!

标签: android-studio imageview android-camera


【解决方案1】:

很遗憾,由于声誉较低,我无法发表评论。但是Here 你可以看到如何用多个 Image View 实现 RecyclerView。希望对你有帮助。

【讨论】:

  • 我已经为这个问题添加了我的其他解决方案。但是,该解决方案看起来很愚蠢。那么,回收视图是否是解决此问题的更好方法?
  • 如果您正在处理大型数据集,那么 Recycler 视图比您的解决方案更好,但如果您只有四个图像,则无需实现 Recycler View。
  • 好的,谢谢,除了recycle view,还有其他大数据集的解决方案吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-21
  • 2017-09-13
  • 2020-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多