0

基本的に私はTitaniumでラジオボタン機能を実装しようとしています。これはiPhoneで期待どおりに機能しますが、Androidでは複数のラジオボタンを選択できます。

これが私のコードです

var lastRadioBtn = null;
tableViewAns.addEventListener('click', function(e) {

if(e.source.id === undefined) {
Ti.API.info("---IN IF---");
} else {
    Ti.API.info("---IN ELSE---");
    if(lastRadioBtn != null){
        Ti.API.info("---NOT NULL---");
        lastRadioBtn.image = '/images/Radio_Button_Not_Selected.png';
    }
    lastRadioBtn = e.source;
    lastRadioBtn.image = '/images/Radio_Button_Selected.png';

}

});

ここでは、カスタム行(1画像、テキスト)を作成しました。この行では、画像が選択されたラジオボタン(テーブルクリック時)と、他の行がクリックされたときに選択されていないラジオボタンが表示されます。

すべてが正常に機能しているようです。Androidでも、画像の選択を解除するための条件があれば内部で制御できますが、機能していないことはわかりません。

ありがとう。

4

2 に答える 2

0

これを試して、

var lastRadioBtn = false;

tableViewAns.addEventListener('click', function(e) {

if(e.source.id === undefined) {
  Ti.API.info("---IN IF---");
 }
else {
 Ti.API.info("---IN ELSE---");
 if(lastRadioBtn == false){
     Ti.API.info("---NOT NULL---");
     lastRadioBtn.image = '../images/Radio_Button_Not_Selected.png';
    }
 lastRadioBtn = e.source;
 lastRadioBtn.image = '../images/Radio_Button_Selected.png';
 }

});

これはあなたに役立つかもしれません...乾杯...

于 2012-08-29T11:28:47.777 に答える
0

私はその解決策を見つけるために多くのことを試みましたが、それを解決できませんでした、適用される可能性のあるすべてのプロパティを試しました(e.row、e.rowData、e.row.children [i]を使用)すべてのケースはIPhoneで正常に機能しましたが失敗しましたAndroidでは常に。私はデバッグします、状態はアンドロイドで完全に働いていました、しかしなぜイメージを変えないのか分かりません。

解決策:-画像の配列を1つ作成しました。テーブルクリックで、この配列を管理し、テーブル行の代わりにこの配列を操作します。このソリューションは、AndroidとiPhoneの両方で機能します(テーブルの行を取得してから画像にアクセスする代わりに、配列から要素にアクセスします)。これが皆さんのお役に立てば幸いです。このバグ(私が考えていること)が解決されることを願っています。

ありがとう。

于 2012-08-30T05:37:55.090 に答える