拍摄照片并在多个ImageView上显示

时间:2018-03-27 03:15:14

标签: android

我不知道我的案件的正确名称。因为我甚至不知道它叫什么。 基本上我有这个EditText和Button,我可以在EditText中输入我想在我的应用程序上显示多少个ImageView的数字。比方说,我写3然后它将在布局上显示3个ImageViews,它工作得很好。

但是,我希望将每个ImageView分开,当我点击其中一个Imageview时,它将打开Camera并在刚刚被点击的ImageView上显示结果。

有可能吗? 下面是我如何将ImageView添加到布局

的代码
btnShelter.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LayoutInflater layoutInflater = (LayoutInflater) getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            int no = Integer.parseInt(jml_shelter.getText().toString());

            if(jml_shelter.getText().toString().equals("")){
                Toast.makeText(SiteActivity.this,"Masukkan Jumlah Shelter",Toast.LENGTH_SHORT).show();
            }else{
                container.removeAllViews();
                for (int i = 1; i <= no; i++) {
                    final View addView = layoutInflater.inflate(R.layout.shelter_row, null);
                    txtV1 = (TextView) addView.findViewById(R.id.txtV1);
                    txtV1.setText(String.valueOf(i));
                    img1 = (ImageView) addView.findViewById(R.id.imgLantai);
                    container.addView(addView);
                }
            }
        }
    });

1 个答案:

答案 0 :(得分:1)

创建一个全局ImageView,其中包含对所选ImageView的引用,然后单击“执行”,如下所示

private ImageView selectedImageView;//global
//while adding image views
for (int i = 1; i <= no; i++) {
                    final View addView = layoutInflater.inflate(R.layout.shelter_row, null);
                    txtV1 = (TextView) addView.findViewById(R.id.txtV1);
                    txtV1.setText(String.valueOf(i));
                    addView.setonClickListener(new View.OnClickListener(){
                          @Override
                          public void onClick(View v){
                            selectedImageView = (ImageView)v.findViewById(R.id.imgLantai);      
                           //Launch camera intent
                          }
                    });
                    container.addView(addView);
                }

然后在onActivityResultCamera设置image数据到selectedImageView