将标签值设置为图像按钮

时间:2012-12-17 17:36:08

标签: android tags imagebutton

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

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开始到光标大小,但是我得到的值与所有图像按钮上的光标数相同。

2 个答案:

答案 0 :(得分: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()?

答案 1 :(得分:0)

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

imageView.setTag(45);

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