2

我在 xml 中有一个布局,当用户单击“下一个”按钮时,我会膨胀,填充下一个屏幕的数据,并为新视图中的图像按钮创建和设置 onclicklistener。然后我将此视图添加到我的主 ViewFlipper 并在其上调用 showNext()。视图滑入到位,按钮在那里,但存在问题:

  1. 按钮图像是一个正方形,但它是透明的,因此唯一可见的部分是一个圆圈,除非在显示第二个视图时,您会看到一个灰色的方形按钮,上面有一个圆圈。

  2. click 事件永远不会触发。灰色方块改变颜色以指示单击(不是应该看到的圆形部分,如果它工作正常,它的颜色会改变),但监听器中的 onClick 事件永远不会执行。

这在我第一次执行此过程时完美运行(膨胀,创建 onClickListener,添加到 ViewFlipper-尽管我第一次显然没有调用 showNext)。

有人见过这样的吗?这让我疯狂

4

2 回答 2

1

从 ViewFlipper 中删除输入/输出动画,或者设置:

android:fillAfter="false"
android:fillBefore="false"

在您的输入/输出动画上将解决问题,您将能够使用标准 XML 定义的 onClick 侦听器。

于 2011-11-10T09:57:09.120 回答
1

我只是花了最后四个小时才弄清楚这一点。我认为这只是一种解决方法,但它让我可以点击按钮以获得比第一个更远的视图。
在您的 xml 中,使用 --

android:onClick="onClick"

然后在您的代码中,使用以下格式来监听您的按钮事件。

    public void onClick(View vw) 
     {
        switch (vw.getId()) 
       {
        case R.id.continue_button:
            if(verifyAllTasksCompleted()){
                currentPage++;
                updateView();
            }
            break;

希望这对您有所帮助。鸢尾花

于 2011-01-06T20:11:54.070 回答