問題タブ [oncreate]
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 でビューをキャッシュし、毎回 onCreate を呼び出さないようにする方法
私を悩ませている質問があります。
onCreate
Android では、アクティビティの新しいインスタンスが作成されるたびに呼び出しているように見えるアプリケーションがあります。これは、このアクティビティが別のアクティビティの息子であり、1 つのデータに対する役割を終了している間に終了するためです。
onCreate
毎回の呼び出しは、XML を再解析してビューを作成し、リスナーをコードに再アタッチ/再作成するなどのようです。では、モバイル デバイスの [戻る] ボタンをクリックしても表示されることなく、毎回呼び出されるアクティビティをキャッシュする方法はありますか? これは、本当に隠して (戻るボタンでアクセスできない)、必要な場合にのみ破棄するようなものです。
事前にみんなありがとう:)
android - AndroidのonCreateメソッドからインテントを起動します
私の質問は少し奇妙に思えるかもしれませんが、ある場合には、画面の読み込みが完了する前に別のアクティビティに移動する必要があるアクティビティがあります。私の状態はonCreateメソッドにあります。つまり、これに遭遇すると、「アクティビティコンテキストの外部から呼び出されたstartActivity」エラーが発生し、アプリがクラッシュします...
しかし、インテントのフラグのような簡単な方法はありますかアクティビティコンテキストを解決せずに機能させるには?答えてくれてありがとう
android - onCreateとBundlesについて説明していただけますか?
私はそれを調べていましたが、onCreateとBundlesを自分で包み込むことができないようです。プログラムの起動時にonCreateが呼び出されることは理解していますが、バンドルがどのように渡され、どのように適切であるかを理解しています。私はそれがうまく説明されているとは思えないので、誰かがこれを平易な英語にしようとすることができますか?
ありがとう
dialog - メインウィンドウwin32を初期化するとき、モーダルダイアログを表示するのに最適なタイミングはいつですか。
Win32でこれを達成しようとしていますが、WinFormsの世界でも同じルールが適用されると確信しています。
Q:メインウィンドウを作成し、それが表示されているときにモーダルダイアログを表示したいのですが。問題は; メインウィンドウが完全に初期化されて表示されたことをどのように知ることができますか?つまり、ダイアログを表示するのに最適なタイミングはいつですか。
アイデア:
1)処理WM_CREATE
し、最後のステップとしてPostMessage(WM_USER_MESSAGE)
。WM_USER_MESSAGE
モーダルダイアログを
処理して表示します!
2)WM_CREATE
タイマーを処理して約300ミリ秒に設定します。処理WM_TIMER
し、タイマーを強制終了し、モーダルダイアログを表示します!
3)最初のアクティベーションの場合は、
ハンドルします。モーダルダイアログを
処理して表示します!
4)初めて表示する場合は、モーダルダイアログを表示します。WM_ACTIVATE
PostMessage(WM_USER_MESSAGE)
WM_USER_MESSAGE
WM_SHOWWINDOW
上記のアプローチは機能しますが、結果は必ずしも良いとは限りません。より良い方法はありますか?おそらく何らかの方法で処理WM_ENTERIDLE
またはメッセージですか?WM_KICKIDLE
java - Android初心者の質問ArrayAdapter.setAdapterのnullポインタ
私は最初の Android アプリの学習と構築を遅らせてきました。私は Java を初めて使用しますが、C#、VB.NET (当時)、Objective-C (ストアに 6 つのアプリがあります)、および Fortran (昔は waaaaaaaaaaaaaaaaaaaay ;) でいくつかのプロジェクトを既に実行しています。
それで、海外からhtcの伝説(私は米国にいません)を受け取りました。これは、開発用の適切な中間レベルのデバイスを用意するために購入しました(ルート化されていないadnroid 2.1を実行しています)。
私が開発しているアプリケーションは、ターゲット レベル 4 (android 1.6) です。拡張子が .mp3 の 5 Mb の sqlite3 データベースを使用して、apk 内の圧縮を回避し、アセットからシステム フォルダーに適切にコピーします。
エミュレーターではすべて正常に動作し、デバイスでは、データベースをコピーした後のアプリのファイル サイズが、エミュレーターで表示されるものと正確に一致することがわかります。
現在、リスト ビューとスピナーを使用したメイン アクティビティで、2 つの配列アダプターを介していくつかのデータをバインドしています。デバイス上で実行すると、すべてがスムーズに実行されます。ただし、デバイスで実行しようとすると、コードのこの部分:
両方の指定.setAdapter(adapterShapes);
& types.setAdapter(adapterTypes);
Null Pointer の例外を教えてください。
私はMacでEclipseを使用しています.LogCatウィンドウはスローします:
06-25 18:41:37.842: エラー/AndroidRuntime(9523): キャッチされていないハンドラー: キャッチされていない例外が原因でスレッド メインが終了しました
06-25 18:41:37.891: エラー/AndroidRuntime(9523): java.lang.RuntimeException: アクティビティ ComponentInfo{com.davidhomes.steel/com.davidhomes.steel.mainAct} を開始できません: java.lang.NullPointerException
06-25 18:41:37.891: エラー/AndroidRuntime (9523): android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2596) で
06-25 18:41:37.891: エラー/AndroidRuntime(9523): で
Android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2621)
06-25 18:41:37.891: エラー/AndroidRuntime (9523): android.app.ActivityThread.access$2200 (ActivityThread.java:126) で
06-25 18:41:37.891: エラー/AndroidRuntime (9523): android.app.ActivityThread$H.handleMessage (ActivityThread.java:1932) で
06-25 18:41:37.891: エラー/AndroidRuntime (9523): android.os.Handler.dispatchMessage (Handler.java:99) で
06-25 18:41:37.891: エラー/AndroidRuntime(9523): android.os.Looper.loop(Looper.java:123) で
06-25 18:41:37.891: エラー/AndroidRuntime (9523): android.app.ActivityThread.main (ActivityThread.java:4595) で
06-25 18:41:37.891: エラー/AndroidRuntime(9523): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で
06-25 18:41:37.891: エラー/AndroidRuntime(9523): java.lang.reflect.Method.invoke(Method.java:521) で
06-25 18:41:37.891: エラー/AndroidRuntime (9523): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:860) で
06-25 18:41:37.891: エラー/AndroidRuntime (9523): com.android.internal.os.ZygoteInit.main (ZygoteInit.java:618) で
06-25 18:41:37.891: エラー/AndroidRuntime (9523): dalvik.system.NativeStart.main (ネイティブ メソッド) で
06-25 18:41:37.891: エラー/AndroidRuntime(9523): 原因: java.lang.NullPointerException
-------------------------------------------------- ------------ 06-25 18:41:37.891: エラー/AndroidRuntime (9523): com.davidhomes.steel.mainAct.onCreate (mainAct.java:183) で-------------------------------------------------- ------------
06-25 18:41:37.891: エラー/AndroidRuntime (9523): android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1047) で
06-25 18:41:37.891: エラー/AndroidRuntime (9523): android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2544) で
06-25 18:41:37.891: エラー/AndroidRuntime(9523): ... 11 詳細
06-25 18:46:38.252: エラー/ActivityManager(99): トップ アプリの設定に失敗しました!
183 行目は最初の setAdapter 呼び出し (designations.setAdapter(adapterShapes);) です。コメント アウトすると、2 番目の setAdapter がコードを壊すコードになります。
ここで少し迷っています。アダプターは、シミュレーターとデバイスから実行すると、ログ ウィンドウに適切な数のアイテムを表示します。
私はJavaとAndroidの両方の初心者であることを認めているので、どんな助けも大歓迎です。
よろしく
デビッド
android - ProgressDialog onCreate
「onCreate」では、Webからデータをダウンロードしています。データのダウンロード時間は10秒です。データのダウンロード中にProgressDialogを使用したくありません。これが私のコードですが、ProgressDialogが表示されません:
android - Androidの親子アクティビティonCreate質問
親アクティビティと、親アクティビティを拡張する子アクティビティがあります。親が子の活動を開始すると、
どのonCreateが最初に実行されますか?子供ですか、それとも親ですか?
子アクティビティのonCreateメソッドに設定している特定の変数があります。現在、子アクティビティのonCreateに到達するまでに時間がかかるようです。そのため、親のメソッドは空の変数を報告しています。一方、親をしばらくスリープ状態にすると、正しい変数が報告されます。
ありがとうクリス
親の活動:
子供の活動:
したがって、基本的に、親が子を開始した後でも、「親値」を返しますが、スレッドをスリープ状態にすると、「子値」を返します。
java - Android-アクティビティコンストラクターとonCreate
AndroidActivities
には特定のライフサイクルがあり、それonCreate
をオーバーライドして初期化に使用する必要があることを理解していますが、コンストラクターでは正確に何が起こりますか?Activity
コンストラクターもオーバーライドできる/すべきである場合、または決してそれに触れてはならない場合はありますか?
Activities
への参照が完全にクリーンアップされていないため(したがって、ガベージコレクターが妨げられているため)、コンストラクターは使用しないでくださいonDestroy
。これは、その目的のためにあります。これは正しいです?
android - onCreate() 後のビュー プロパティの変更
初めてのポスター、Android の新機能、そして私はこの問題で障害にぶつかったようです:
いくつかの同一の「複合」オブジェクトで構成される動的レイアウトを作成しています(これらは基本的に「フローティング」LinearLayoutであり、それぞれにアイコン(ImageView)とキャプション(TextView)が含まれています)。各 LinearLayout の (x,y) 座標は、ユーザーの操作に基づいて変更される可能性があり、正確な配置が必要なため (つまり、RelativeLayout を使用できないなど)、AbsoluteLayout 内に配置しています。
onCreate() 中に、これらの各オブジェクトを AbsoluteLayout オブジェクト内の子ビューとして追加し、(x,y) を手動で設定します。これまでのところ問題はなく、うまく機能し、初期レイアウトは完璧です。
問題:
最初の onCreate() の後、これらのオブジェクトの (x,y) 位置を画面上で変更することができません。layoutParams を更新できますが、画面上のレイアウト (AbsoluteLayout 内) は更新されません。forceLayout()、invalidate()、requestLayout() を試しましたが、どれも機能しません。
ここで私の基本的なアプローチに問題がありますか、それとも私が見逃しているものがありますか?
SurfaceView に変更してレンダリングを難しい方法で行うことを考えていますが、私のコードは現在 99% うまく機能しており、変更する必要がなければ変更したくありません。唯一の問題は、レイアウト マネージャーが子オブジェクトの位置変更の登録を単に拒否することです。
助けてください、私は何を間違っていますか?
android - 電話を受けた後にアプリがクラッシュする
電話を受けるか電話をかけた後(およびその他の文書化されていない中断)、アクティビティを再開すると、アプリケーションはNullPointerExceptionを受け取ります。それがどこにあるか、および/またはそれを修正する方法を私に説明できますか?私のアクティビティが再開すると、onCreateが呼び出されているようで、再開後にnullの何かを実行しようとしています。onCreate()が呼び出されないようにするにはどうすればよいですか?
このエラーをデバッグしようとするとデバッガーが切断されるため、呼び出しボタンを押すとアクティビティが終了するようです。
編集:
では、プロセスが強制終了された場合、どのように処理すればよいですか?-> onCreate()?アクティビティA->B->C-> Dがあり、Aまで押し戻します。問題ありません。しかし、別のプログラムを起動したり、別のプログラムが前面に出たりすると、Dがクラッシュし、次にCがクラッシュし、次にBがクラッシュし、次にAがクラッシュします。
編集:
B、C、Dのクラッシュを解決しました。これは、静的変数を格納したクラスがリソースを解放するために破棄され、アクティビティがnull変数を取得していたためです。
しかし、Aに戻ると、classCastExceptionが発生します。
これが私のonCreate()です:
ここに問題があると思います。