2016-10-30 8 views
0

私はRadListViewのページを持っています - 別のページに移動してからtopframe.back()を実行すると、元のページのListViewが失われます最後の状態 - ページ全体が再構築されます。ページへのナビゲーションに戻るページ

とにかくページを再初期化しないように...私はネイティブAndroidでデフォルト動作はアクティビティのネストされたページを持つことを知っています - したがって、いつも最後の状態に戻ることができます。

+0

こんにちはdashman、この問題は、GitHubのhttps://github.com/NativeScript/でこの問題が報告されていますNativeScript/issues/2852この修正は、今後のNativeScriptリリースで利用可能になります。 –

答えて

1

実際、RadListViewはすぐに状態を記憶しません。私がこの問題を解決するために行ったことは、scrollIndexを「キャッシュ」して、がロードされたことです。イベントがRadListViewに渡されました。

リスト-page.xml

<lv:RadListView id="rad-list" items="{{ dataItems }}" 
       loaded="onListLoaded" itemTap="onItemTap"> 

リスト-page.ts

export function onListLoaded(args: RadListwModule.ListViewEventData) { 
    list = <RadListwModule.RadListView>args.object; 

    if (list.items) { 
     list.scrollToIndex(roversViewModel.get("cachedIndex")); 
    } 
} 

// onItemTap is the event where I update the cached index 
export function onItemTap(args:RadListwModule.ListViewEventData) { 
    var tappedItemIndex = args.itemIndex; 
    roversViewModel.set("cachedIndex", tappedItemIndex); 
} 
+0

ありがとう...しかし、私が最後にscrollToIndex()を使用したのは、項目が表示されていることを確認することです。上部、中央、または下部にある可能性があります。だから、アイテムを灰色の領域に置いたままにしておくと、ポジションが正確に復元されませんでしたか?私はスクロールインデックスとアイテムの高さを知っているかどうか疑問に思っています - 親スクロールビューを呼び出してその正確なy位置にスクロールできるかどうかは、yオフセットがあります。 – dashman

+0

私の場合、scrollToIndexを使用している場合(0はアイテムが完全な位置合わせでページの上部にレンダリングされます(RadListViewのために互い違いのレイアウトを使用し、アイテムテンプレートのイメージとラベル付きのグリッドを使用) –

関連する問題