2010-12-03 6 views
1

私はに含まれているタイトルからメニューを作成したいです配列。 私は配列をループし、ループの各ステップで値をボタン/タブのタイトルとして使用して、これを正常に実行しました。からメニューを作成し、タイトルとファイル名を含んでいる配列 - 私は貿易によって、プログラマではないんだけどtinkerer(noobの)のより</p> <p>をJavascriptを/ Appceleratorの

一意のページへのリンクを持つイベントリスナーを各ボタンに追加したいとします。私はボタンのラベルをチェックしてこれを行うことを意図していました。値Aの場合、それは対応するリンクを取得し、それをcurrentLinkに割り当てます。これをcurrentLinkに割り当てます。ループ。

私はほとんどそれが働いていると思いますが、リンクビットを動的に追加するだけで失われました。

ご協力いただければ幸いです。ここで

は私のコードです:

//function to check the label name and assign the relevant filename to be passed on 
    function winLink(currentTab){ 
    if (currentTab == 'Audio'){ 
     currentLink = 'audioPlayer.js'; 
     pageWin.url = currentLink; 

    } else{ 
     if (currentTab == 'Images'){ 
     currentLink = 'images.js'; 
     } 
    } 
    } 

//function to change button colours according to active button 
function button_colour(e){ 
if (clickedButton == ''){ 
    clickedButton = e.source; 
    clickedButton.backgroundImage = tabBckImgSel; 

} else { 
    clickedButton.backgroundImage = tabBckImg; 
    clickedButton = e.source; 
    clickedButton.backgroundImage = tabBckImgSel; 
    } 
} 


    //Array that contains button names 
    var tabsArray =['Audio','Images','Video','Info','Materials','Further Reading','Map']; 

//loop through array and create a holder, label and eventlistener to attach 
for (var t=0;t<tabsArray.length;t++) { 
//create view to act as button/tab area 
viewButton[t] = Titanium.UI.createView({ 
    borderWidth:1, 
    borderColor: tabBrdrColour, 
    width:tabWidth, 
    height:tabHeight, 
    left:leftTab + padding 
}); 

//add the tab to the main menu view/area 
menu.add(viewButton[t]); 

//increment the left position for the next button to be placed to the right of the previous button 
leftTab = viewButton[t].left + tabWidth; 

Buttonlabel[t] = Titanium.UI.createLabel({ 
    text: tabsArray[t], 
    font:{fontSize:13}, 
    color:'#fff', 
    width:labelWidth, 
    textAlign:'center', 
    height:'auto' 
}); 

viewButton[t].add(Buttonlabel[t]); 

    //pre declared variable to hold the title of the current label 
currentTab = tabsArray[t]; 
//call to function to check label and set the relevant file to load 
winLink(currentTab); 

viewButton[t].addEventListener('singletap', function(e) 
    { 

    button_colour(e); 
    win.add(pageWin); 
var theLink[t] = currentLink; 
    // alert (' Current link' + currentLink); 
}); 

} 

答えて

0

ハッシュテーブルは、あなたが探しているものだろうか?これらのリンクを動的に作成して使用することができます。

http://download.oracle.com/javase/1.4.2/docs/api/java/util/HashSet.html

も、私はこれを変更したい...

//function to check the label name and assign the relevant filename to be passed on 
function winLink(currentTab){ 
if (currentTab == 'Audio'){ 
    currentLink = 'audioPlayer.js'; 
    pageWin.url = currentLink; 
    } else{ 
    if (currentTab == 'Images'){ 
    currentLink = 'images.js'; 
    } 
} 
} 

に...

 //function to check the label name and assign the relevant filename to be passed on 
function winLink(currentTab){ 
if (currentTab == 'Audio'){ 
    currentLink = 'audioPlayer.js'; 
    pageWin.url = currentLink; 
    } else if(currentTab == 'Images'){ 
    currentLink = 'images.js'; 
    } 
} 

は、それは私を悩ませた:)