問題タブ [android-context]
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.
java - トーストを表示しようとしたときのコンテキストの問題
AsyncTask 内に Toast を表示しようとしています。この最初のコード片はMyActivity
、 と呼ばれるアクティビティに配置され、正常に動作します。
次に、 and の新しいインスタンスを作成し、MyObject
を呼び出しますmethod()
。このコードは にも配置されMyActivity
ます。
これが の定義ですMyObject
。ProgressDialog は正常に動作しますが、トーストは表示されません。
最初の例と以下でまったく同じことをしていると思いましたが、どうやら何かが欠けているようです。の代わりにgetApplicationContext()
andも試しましたが、同じ結果になりました。cxt.getApplicationContext()
cxt
android - Android:レイアウトxmlのビューにコンテキストを設定する方法は?
ActivityGroup で WebView を使用していますが、WebView がダイアログを表示し、アクティビティが無効であると不平を言うと、例外がスローされます。しかし、WebView のコンテキストを TOP アクティビティに設定すれば問題ありません。レイアウト xml でコンテキストを設定する方法を知りたいですか?
android - Android API レベル 8 より前の Context.getExternalFilesDir() を模倣しますか?
Android API レベル 8 でこのContext.getExternalFilesDir()
メソッドが導入されFile
、アプリ固有の SD カード パスへのオブジェクト参照が提供されました。これを API レベル 5 まで模倣する方法を考えています。
メソッドがあるように見えますが、Context.getDir()
それについて読んでも、これがどのように違うのかわかりません。
android - アプリケーションの拡張
Androidアプリでアプリケーションを拡張したいのですが。これを行って、MyApplicationという拡張アプリケーションオブジェクトを作成し、それをマニフェストに追加しました。
ここで、いくつかの情報を保持するために、いくつかのゲッターとセッターを追加したいと思います。Contextを含まないクラスにアプリケーションContextを渡す必要があるようです。
たとえば、MyObjectというクラスを(独自のJavaファイルに)作成するとします。
doStuff()からMyApplicationにアクセスするにはどうすればよいですか?アプリケーションContextをMyObjectに渡す必要があるようです。これは典型的なことですか?漏れの可能性はありますか?
また、明確にするために、MyApplication(およびその中の変数)はアプリケーションのライフサイクル全体にわたって存続しますか?どちらの方法でも構いません。必要に応じて、これを確実に説明したいと思います。
そして最後に、アプリケーションを拡張するためにどのようなさまざまなことが役立つかを示すために、いくつかのサンプルソースへのリンクをいただければ幸いです。
java - 非同期スレッドからAndroidアクティビティスタックにアクセスしますか?
StackOverflowにはアクティビティスタックに関連する質問がたくさんありますが、私が持っている質問に答える質問は実際には見つかりませんでした。私は(今のところ)3つの異なる活動があるオンラインゲームに取り組んでいます:
- ログイン/登録
- メニュー(ログイン時に表示され、「新しいゲーム」、「私の統計」、およびその他のいくつかのものが含まれています...今のところ「新しいゲーム」オプションについて心配しています。)
- ゲーム
ソケット接続は、ログイン/登録アクティビティで発生します。これにより、バックグラウンドで実行されるカスタムサービスが作成されます。データはいつでも到着する可能性があるため、私が使用しているソケットクラスには非同期応答ハンドラーがあります。これは、メッセージを受信するたびに現在のコンテキストにアクセスできないことを意味します。
さまざまな種類のメッセージを受信したときの現在のコンテキストを把握して、それに応じてメッセージを処理できるようにする方法が必要です。たとえば、ユーザーがゲーム画面(上記の#3)に到達し、ある種のメッセージを受け取った場合、新しいゲーム状態で更新するようにゲーム画面に指示するだけです。ただし、ユーザーが同じゲーム画面にいて、「画面#3と#2を閉じてユーザーをログアウトし、画面#1に戻す」という別の種類のメッセージを受信する可能性があります。
基本的に、私は現在のアクティビティ/コンテキストを取得するための最良の方法を見つけ出し、それが現在のメッセージに適切なコンテキストであるかどうかを判断し、それを処理する方法を見つけようとしています。
android - スレッド完了メソッド内からインテントを起動するときにコンテキストを理解できない
データを読み込んだ後、新しいインテントを起動しようとしています。スレッドが完了したときにメソッドを呼び出すハンドラーを使用していて、このメソッドで新しいインテントを起動しようとしていますが、アプリが毎回クラッシュします。IntentコンストラクターのContext変数に絞り込みました。これが私のコードです:
android - Runnable 内のコンテキスト
R.raw から音を鳴らしてみます。Thread/Runnable の内部 しかし、これを機能させることができません。
run メソッド内で実際のコンテキストを取得するにはどうすればよいですか? 何をやってもヌルです。または、これを行うより良い方法はありますか?
android - View コンテキスト内で Activity オブジェクトを取得する
これは、この投稿のフォローアップです。
サブクラス化された SurfaceView の findViewById が RuntimeException をスローする
Romain Guy のフィードバック (これは解決策なのですぐに受け入れます) に基づいて、ビュー内から呼び出し元のアクティビティを取得し、それを使用して目的の TextView リソースを取得できるようにしたいと考えています。
View に Activity を返すメソッドがありません。これを行う適切な方法は何ですか?または、別の View コンテキスト内から TextViews を操作するためのより良い代替手段があります。
基本的に、私は setContentView(R.layout.xxx) を onCreate() で (いつものように) 呼び出しているので、setContentView の後で View をぎこちなく取得して呼び出しを行わない限り、追加の TextView への参照を渡す方法は実際にはありません。その上で。
android - HelloMapView チュートリアルの問題
HelloMapViewのチュートリアル では、マップは正常にロードされているようで、マップが表示され、例にあるメキシコのマークも表示されます。
しかし、メキシコのマークをクリックすると、アプリケーションがクラッシュし、次のメッセージが表示されます
Android アプリケーションのクラッシュ
私は問題が何であるかを知っていると思いますが、それを解決する方法がわかりません:
ステップ 7 で、チュートリアルには次のように書かれています。
次に、オーバーレイ アイテムでタッチ イベントを処理する機能を設定します。まず、このクラスのメンバーとしてアプリケーション Context への参照が必要になります。Context mContext をクラス メンバーとして追加し、新しいクラス コンストラクターで初期化します。
わかりましたが、メインのチュートリアル クラスでは、このクラスを宣言するときにコンテキストが与えられません。
私はこれをやろうとしました:new HelloItemizedOverlay(drawable, getApplicationContext());
しかし、それは機能しません。マップはメキシコのマークなしで表示されます。
誰かが私がどこで間違ったのか考えていますか?
android - アクティビティコンテキストの外部からstartActivity()を呼び出す
ListView
Androidアプリケーションにを実装しました。ListView
クラスのカスタムサブクラスを使用してこれにバインドしArrayAdapter
ます。オーバーライドされたArrayAdapter.getView(...)
メソッド内で、を割り当てますOnClickListener
。のonClick
方法でOnClickListener
、新しい活動を始めたいと思います。例外が発生します:
(現在の)が機能しContext
ていることをどのように取得できますか?ListView
Activity