NativeScript / NativeScript/plugins
[@nativescript/google-maps] Break app when you have a map inside a ScrollView
オープン
まだ誰も着手していません。
- 主要言語
- TypeScript
- スター
- 206
- フォーク
- 123
- 平均マージ
- 2日 1時間
- マージ済み PR(30日)
- 1
説明
When you have a map inside a scrollView, if you navigate to another page, exit the app and re-enter, when you return to the back page with the map the app breaks. Error:
System.err: An uncaught Exception occurred on "main" thread.
System.err: Calling js method onCreateView failed
System.err: Error: java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to org.nativescript.widgets.HorizontalScrollView$SavedState
System.err:
System.err: StackTrace:
System.err: onCreateView(file: src\webpack:\abll-app-next\node_modules\@nativescript\core\ui\frame\index.android.js:768:0)
System.err: at onCreateView(file: src\webpack:\abll-app-next\node_modules\@nativescript\core\ui\frame\fragment.android.js:28:0)
System.err: at com.tns.Runtime.callJSMethodNative(Native Method)
System.err: at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1302)
System.err: at com.tns.Runtime.callJSMethodImpl(Runtime.java:1188)
System.err: at com.tns.Runtime.callJSMethod(Runtime.java:1175)
System.err: at com.tns.Runtime.callJSMethod(Runtime.java:1153)
System.err: at com.tns.Runtime.callJSMethod(Runtime.java:1149)
System.err: at com.tns.FragmentClass.onCreateView(FragmentClass.java:55)
System.err: at androidx.fragment.app.Fragment.performCreateView(Fragment.java:3104)
System.err: at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:524)
System.err: at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:261)
System.err: at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1899)
System.err: at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1817)
System.err: at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1760)
System.err: at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:547)
System.err: at android.os.Handler.handleCallback(Handler.java:942)
System.err: at android.os.Handler.dispatchMessage(Handler.java:99)
System.err: at android.os.Looper.loopOnce(Looper.java:210)
System.err: at android.app.ActivityThread.main(ActivityThread.java:8109)
System.err: at java.lang.reflect.Method.invoke(Native Method)
System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559)
System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
System.err: Caused by: java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to org.nativescript.widgets.HorizontalScrollView$SavedState
System.err: at org.nativescript.widgets.VerticalScrollView.onRestoreInstanceState(VerticalScrollView.java:235)
System.err: at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4012)
System.err: at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4018)
System.err: at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4018)
System.err: at android.view.View.restoreHierarchyState(View.java:21650)
Playback repository: https://github.com/vallemar/error-google-maps-on-ScrollView
Video:
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、リンクされた再生リポジトリでクラッシュを再現し、スタックトレースに示されている Android の復元パスを調査します。これには frame/index.android.js、fragment.android.js、VerticalScrollView.onRestoreInstanceState が含まれます。map-in-ScrollView のナビゲーションとアプリへの再 प्रवेशフローを、報告されている ClassCastException と比較します。ビュー状態の復元中にページへ戻ってもアプリが壊れなくなれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- android, typescript
- 領域
- mobile
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100