我目前有一个滚动视图,我通过膨胀另一个 xml 布局来添加行。这一切都在正常工作,并且该行都正确显示。
我遇到的问题是我不确定如何检测选择了哪个按钮。
我已经显示了一些示例代码,适用于按钮,只需在选择此按钮时放置它在2张图像之间切换即可。但是,每当我按下按钮时,它总是会自动切换底部行按钮,而不是选择按钮所在的行。
有没有一种方法可以实现这一点,同时仍然膨胀要用作行的视图(我不想动态创建行,因为这会变得非常混乱)?
ScrollView scrollWeapons = (ScrollView)findViewById(R.id.scrollWeapons);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
int i = 0;
for(final Weapon w : Game.Weapons)
{
View view = new View(this);
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.menuweapons_row, null);
btnSelected = (ImageButton)view.findViewById(R.id.btnSelected);
btnSelected.setId(i);
btnSelected.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
EquipUnequip(w.WeaponID());
}
});
}
private void EquipUnequip(int WeaponId)
{
if(Game.Weapons.get(WeaponId).CharacterID() == ChrSelected)
{
btnSelected.setImageResource(R.drawable.eqip_but_idle);
}
else
{
btnSelected.setImageResource(R.drawable.eqip_but_press);
}
}
ll.addView(view);
i++;