0

我正在尝试checkbox使用以下代码创建记住使用图像视图,并且ios即使在 android 中也可以正常工作,if else 语句工作正常但是

 remember_me.image = 'images/buttons/checkbox_not_ticked.png';' 

如果我再次单击它,它只会在 android 中工作一次,它不会将图像从勾选更改为unticked. 请提出错误

ar remember_me = Titanium.UI.createImageView({
      image:'images/buttons/checkbox_not_ticked.png',
      width:Ti.UI.SIZE,
      height:Ti.UI.SIZE,
      left:20
    });
    row2.add(remember_me);
    row2.add(remember_me_label);


    remember_me.addEventListener('singletap', function(e) {

        if(!remember_me_var)
        {
            remember_me_var = true;
            remember_me.image = 'images/buttons/checkbox_ticked.png';
        }
       else
       {
            remember_me_var = false;
            remember_me.image = '';
            remember_me.image = 'images/buttons/checkbox_not_ticked.png';
       }
    });
4

2 回答 2

1

appcelerator 钛在双击图像视图时遇到了问题。这已在此处报告。您可以通过使用视图而不是 imageview 来解决此问题。我也遇到过这个问题,我用视图解决了这个问题。

 var remember_me = Titanium.UI.createView({
       backgroundImage:'images/buttons/checkbox_not_ticked.png',
       width:Ti.UI.SIZE,
       height:Ti.UI.SIZE,
       left:20
    });
    row2.add(remember_me);
    row2.add(remember_me_label);

    //Click event can be used instead of singletap. Singletap also fires click event
    //Changing the image while clicking on the image
    remember_me.addEventListener('click', function(e) {
       if(!remember_me_var)
       {
          remember_me_var = true;
          remember_me.backgroundImage = 'images/buttons/checkbox_ticked.png';
       }
       else
       {
          remember_me_var = false;
          remember_me.backgroundImage = 'images/buttons/checkbox_not_ticked.png';
       }
    });

希望这能解决您的问题。快乐编程:)

于 2013-01-06T03:51:02.733 回答
-1

我建议不要以编程方式执行此操作,而是使用可绘制的选择器来定义 CheckBox 的开/关状态:

复选框.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/checkbox_ticked" />
    <item android:state_checked="false" android:drawable="@drawable/checkbox_not_ticked" />
</selector>

然后,您可以将其添加android:button=@drawable/checkbox到您的小部件。这对我来说非常有效。

于 2013-01-04T08:13:15.937 回答