[英]Why does getTag return always 0 for my imageview clicklistener?
到目前為止,我已經實現了一個按鈕,每次點擊都會膨脹一個新的 imageView 現在我正在嘗試為每個 imageView 分配一個標簽,但在我的情況下總是返回 0。這是我的代碼:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void addImage(View view){
for (int i = 0; i < 1; i++) {
final LinearLayout linearLayout = (LinearLayout) findViewById(R.id.mylinear);
ImageView imageView = new ImageView(MainActivity.this);
imageView.setLayoutParams(new LinearLayout.LayoutParams(140, 84));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
Bitmap icon = BitmapFactory.decodeResource(MainActivity.this.getResources(),
R.drawable.text);
imageView.setImageBitmap(icon);
imageView.setTag(i);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView iv = (ImageView)v;
Toast.makeText(getBaseContext(), v.getTag().toString(), Toast.LENGTH_SHORT).show();
}
});
linearLayout.addView(imageView);
}
}
}
我終於意識到不需要循環,而是使用:
int num = linearLayout.getChildCount();
imageView.setTag(num++);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.