0

내 탭 그룹에 세 개의 탭이 있습니다. 하나의 탭은 언어 변경 용입니다. 사용자가 언어를 변경하면 모든 탭에 대해 선택한 언어를 변경해야합니다. 내 탭 그룹 코드는 다음과 같습니다.티타늄 합금의 탭 그룹 탭을 다시로드하는 방법

<Alloy> 
    <TabGroup id="myTabGrp"> //Tabgroup Added 
    <Tab id="one"> 
     <Window class="container"> 
      <Label>This is the Home View</Label> 
     </Window> 
    </Tab> 

    <Tab id="two"> 
     <Window class="container" id="winTwo"> 
      <Label>This is the second View</Label> 
     </Window> 
    </Tab> 

    <Tab id="three"> 
     <Window class="container"> 
      <Button onClick="saveLang">Proceed</Button> 
     </Window> 
    </Tab> 
    </TabGroup> 
</Alloy> 

모든 사용자 텍스트는 데이터베이스에서 손실됩니다. 그렇다면 tab3의 진행 시계 ​​버튼에서 어떻게 탭을 다시로드 할 수 있습니까?

나는 3 초 구조체 것입니다로드하는 데 시간이 너무 오래 복용 한 후 필요한 출력을로드하고, 나는 다음과 같은 코드 모든 것이 잘 작동하려고하면 다음 코드

function saveLang() { 
    $.myTabGrp.setActiveTab($.two); 
} 
$.winTwo.addEventListener('focus',function(e) { 
    // How can I reload the tab2 here.... 
alert('focus'); 
}); 

을 시도했지만. 나는 장시간 로딩 시간을 피할 필요가있다.

var homeWindow = Alloy.createController('index').getView(); 
homeWindow.open({transition:Titanium.UI.iPhone.AnimationStyle.FLIP_FROM_LEFT}); 

우리가 적은 로딩 시간 탭을 .. 다시로드 할 수있는 방법 질문의

답변

1

어떤 부분이 here (how to redirect from one page to tab in another page in titanium?)를 응답 한 어떤 제안.

탭 2 또는 winTwo으로 전환하거나 tabGroup을 열면 창 UI를 업데이트하기 위해 호출하는 몇 가지 기능이 있습니다. (다음과 같은) updateWin2 메소드를 호출의 EventListener

$.myTabGrp.open(); 
updateWin1(); 
updateWin2(); 
updateWin3(); 

function updateWin1() { 
    var value = "Win1"; //fetched from local db 
    $.win1Label.text = value; 
} 

function updateWin2() { 
    var value = "Win2"; //fetched from local db 
    $.win2Label.text = value; 
} 

function updateWin3() { 
    var value = "Win3"; //fetched from local db 
    $.win3Label.text = value; 
} 

을 이제 winTwo의 초점 : 어쩌면 당신은 index.js에 다음과 같이 뭔가를해야합니다

$.winTwo.addEventListener('focus',function(e) { 
    //Reloaded 
    updateWin2(); 
}); 

참고 : 당신은 할 수 있습니다 귀하의 요구 사항에 따라 updateWin2() 메서드에서 복잡한 UI 조작.

P.S : 합금 모델 및 컬렉션 개념을 사용하는 경우 Alloy Data Binding을 시도해야합니다.