2

我正在尝试将标签值设置为循环内的图像按钮。问题是它们的值都是相同的,我需要根据循环设置它们的值。这是我的代码。

int n = 0;
Cursor c = db.getUserExercises(Integer.parseInt(id), musclegroup);
tag = c.getCount();
if(c.moveToFirst())
        {

do{
               update = new ImageButton(this);
                update.setBackgroundResource(R.drawable.updatebtn);
                update.setTag(n);
                update.setOnClickListener(new View.OnClickListener() {

                    public void onClick(View v) {

                        for(int i=0;i<tag;i++)
                        {
                            if(Integer.parseInt(((ImageButton)v).getTag().toString()) == i)
                            {
                                Toast.makeText(getBaseContext(), update.getTag().toString(), Toast.LENGTH_SHORT).show();
                            }
                        }
                     }
                    });
n++;
}while(c.moveToNext());

我打算将它们的值从 0 开始设置为光标的大小,但我得到的值与所有图像按钮上的光标数相同。

4

2 回答 2

1

您可以根据需要设置 ImageView 的标签。因为它的 setTag() 方法采用 Object 类型参数,例如。

imageView.setTag(45);

当我们获得 imageView.getTag() 时,我们将获得 ImageView Tag 值的 45 个值

于 2014-03-21T09:05:54.440 回答
0

onClick 中这段代码的意义何在?

if(Integer.parseInt(((ImageButton)v).getTag().toString()) == i)
                            {
                                Toast.makeText(getBaseContext(), update.getTag().toString(), Toast.LENGTH_SHORT).show();
                            }

你不想打电话吗

Toast.makeText(getBaseContext(), v.getTag().toString(), Toast.LENGTH_SHORT).show();

在您的 onClick 中,没有“for”循环和“if”语句,v.getTag()而不是 update.getTag()?

于 2012-12-17T17:44:35.250 回答