我不知道我的案件的正确名称。因为我甚至不知道它叫什么。 基本上我有这个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);
}
}
}
});
答案 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);
}
然后在onActivityResult
从Camera
设置image
数据到selectedImageView