2013-01-04 106 views
0

我試圖創建記得checkbox使用圖像視圖與下面的代碼,甚至在Android上工作正常進行ios如果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'; 
     } 
    }); 

回答

-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:[email protected]/checkbox添加到您的小部件。這對我來說非常合適。

+0

對不起,我不開發這使用本機anroid開發。我正在使用appcelerator。你有任何想法如何解決這個使用appcelerator – user1947832

+0

對不起,但我只用過Eclipse的Android開發。 –

1

加速器鈦遇到問題,同時雙擊圖像view.This已經被報告here。您可以使用視圖而不是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'; 
     } 
    }); 

希望這能解決您的問題。快樂編程:)