問題タブ [onrestoreinstancestate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android : カメラの Crop Intent を開くと (写真を撮った後)、Nexus 7 と Moto G で発信者のアクティビティ/アプリが強制終了されます
nexus 7 と moto G のネイティブ カメラ アプリで問題に直面しています。アプリからカメラ インテントを開き、写真を撮った後にcom.android.camera.action.CROP
インテントを呼び出しています。しかし、保存ボタンをクリックしても、アクティビティ/アプリに戻りません。
メモリ不足のため、Android はフォアグラウンドにないアクティビティを強制終了することを読みました。そのため、状態を に保存していonSaveInstanceState
ます。
以下はコードの一部です:
カメラから写真を撮るために呼び出されるメソッド:
クロッピングのために呼び出されるメソッド:
onActivityResult:
onSaveInstanceState & 復元時の復元値:
カメラの意図を呼び出すアプリのほとんどが、whatsappを除いて、これらの (Moto G & Nexus 7) デバイスで同じ問題を抱えていることを確認しました。彼らがこのシナリオをどのように処理したかはわかりません。
ありがとうございました。
android - onActivityResult() の後に呼び出される Android openFileChooser onCreate()
Web ビューがあり、ページの 1 つに [写真をアップロード] ボタンがあります。ファイル チューザーを実装するコードをいくつか見つけました (Android、なぜそんなに難しいのですか????)。ギャラリーを選択すると、すべて正常に動作します。カメラを 10 回中 1 回選択すると動作します。しかし、ほとんどの場合、写真を撮って [保存] をクリックすると (これはすべてカメラ アクティビティにあります)、アプリの起動時に読み込まれた最初のページが webview に読み込まれます。が呼び出されていないようですonActivityResult()
が、代わりに呼び出されonCreate()
ているため、アプリが台無しになります。写真を撮った後に webView の状態を復元する方法の例を教えてください。(おそらく、私は WebView にログインしていることに言及する必要があります)。
これは WebChromeClient クラスです:
これが onActivityResult メソッドです。
android - Android : onRestoreInstanceState が機能するように、ビューに一意の ID があることを確認する方法
Android 開発者ガイドには、onRestoreInstanceState() でビューを復元するには、アクティビティ内のビューに一意の ID が必要であると記載されています。これは本当に正しいのでしょうか?それとも、ビューごとに、そのすべての子が異なる ID を持つことを確認するだけで十分でしょうか?
階層全体のすべてのビューが一意の ID を持つ必要がある場合、同じレイアウト リソースを 2 回インフレートして同じビュー グループに 2 つのコピーを追加することはできません。代わりに、すべてをプログラムで実行し、使用するすべてのビューに一意の ID を手動で割り当てる必要があります。
android - アクティビティが破棄された後に失われた ImageView の画像
ユーザーがプロフィールに表示する写真を選択できるアプリを作成しようとしています。選択した画像を参照してイメージビューに設定できます。しかし、アクティビティが破棄されると、イメージは失われます。onSaveInstanceState を実装しようとしましたが、それでも同じです。正しく使えているか心配です。私のような初心者を助けていただければ幸いです。前もって感謝します。私が使用しているコードは次のとおりです。
ところで、oncreate の後で onRestoreInstanceState を使用する代わりに、別のアプローチを使用しようとしたことに気付いたかもしれません。oncreate内にも実装できるという別の質問からの回答を見つけました。関数 onRestoreInstanceState を宣言するたびに @Override アノテーションを削除するように求められるため、これを使用しました。
android - アクティビティが onCreateView() に 2 回入り、保存した変数がリセットされる
アプリからのアクティビティに問題がありました。メソッドでいくつかのデータを保存しonSavedInstanceState()
て復元していましたonCreateView()
(このアクティビティには 2 つのフラグメントがあり、onCreate と onCreateView があります)。復元されたデータは修正されましたが、アクティビティからスピナーに正しく配置できませんでした。
このループの前、中、後にいくつかのブレークポイントを配置しました。
そして、アプリがonCreateViewメソッドに2回アクセスすることを観察できました...最初はposSaved変数が正しいですが、2回目はこの変数が0であり、この理由により、スピナーはposSaved変数に保存された位置を常に表示しません(デフォルトのように)0の位置を示しており、onSavedInstanceStateメソッドを使用していないようです...
...なぜアプリは onCreateView() メソッドで 2 回入力するのですか? どうすればこの状況を解決できますか?
PD。このアクティビティも onCreate() メソッドに 2 回入ります。
マイ アクティビティ コード
このアクティビティ フラグメントは、このクラスで呼び出されます。
ありがとう。