早上好,
我有一个带有 prev 的项目列表。& 下一步按钮。当用户位于列表的开头时,上一个按钮被禁用。单击下一步会将它们带到下一条记录,并且我的单击处理程序将 prev 按钮设置为 true。但是在模拟器中它不显示启用的按钮。单击下一步将我移动到第三条记录,并且处理程序再次将 prev 按钮设置为启用,但这次它确实在模拟器中启用。我在这里抓住了稻草,但我需要使无效和重绘还是什么?我不明白为什么这样的基本任务不起作用。
在 XML 中:
<Button
android:id="@+id/btn_PrevLift"
...
android:enabled="false"
android:onClick="btn_PrevLiftClick" />
在处理程序代码中:
private void UpdateNavButtonStatus(int z)
{
...
btn_Next.setEnabled(true);
btn_Prev.setEnabled(true);
....
}
不只是为了向您展示我对自己在做什么知之甚少,当我在 Eclipse 调试中查看变量值时,我在任何状态下都看不到启用的属性???
更多信息 至少对我来说很奇怪。如果我从使用 XML 定义的事件处理程序转变为以编程方式定义如下,它会很好用!!!???
btn_Nxt.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
//Call helper methods etc...
}
});
我想我有,但不确定为什么
因此,当我试图处理我的 Button 对象时,我使用的是 View.findViewById(etc)。当我从 XML 更改为以编程方式声明的事件处理程序时,我使用了 ViewGroup.findViewById。如果我使用 ViewGroup 恢复到 xml,我会得到一个似乎可以工作的“不同”句柄......????