問題タブ [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.

0 投票する
2 に答える
199 参照

android - CONTEXTをどのように指定しますか

アプリ全体でコードを再利用できるように、単純なメッセージポップアップを処理するクラスを作成しました。文脈を正しく理解できないようです。これは、あちこちから呼び出され、多くの場合、UIを直接持たないクラスから呼び出されます。以下の行を参照してください...

0 投票する
1 に答える
3501 参照

android - チェックされたコンテキスト メニュー項目がチェックされたままにならない

私はこのフォーラムと android 開発自体に慣れていないので、私の質問はおそらく非常にばかげたものになるでしょう。developer.android.com の Dev Guide を読み始めましたが、コンテキスト メニューのある部分まではすべて問題なく動作していました。今、いくつかのチェック可能な項目を含むサブメニューを含むコンテキスト メニューを作成しようとしました。そこで、サブメニューとアイテムを menu.xml に追加し、いくつかの item.setchecked(true) メソッドを onContextItemSelected(...) メソッドに追加しました。

menu.xml

私の .java ファイルの一部

問題は、メニューを開いてチェック可能なアイテムの1つを押すと、コンテキストメニューが閉じる直前に小さなボックスに緑色のチェックマークが表示されるのですが、メニューを再度開くとチェックマークが消えてしまうことです。ダニがボックスにとどまらない理由がよくわかりません。誰かが私にヒントを与えて、私が間違っていることを教えてくれたらいいのにと思います。楽しみにありがとう

ジャン・クロード91

0 投票する
3 に答える
120745 参照

android - AndroidGetアプリケーションの「ホーム」データディレクトリ

アプリが内部メモリに書き込むときのデフォルトの「ホーム」ディレクトリに関する簡単な質問。デフォルトでは、作成されたファイルはすべてOS(2.2)によって次の場所に配置されます。

openFileInput()ファイルを読み込むときは、、を介して適切なコンテキストを維持するときに、同じデフォルトが使用されますopenFileOutput()。ただし、たとえばFileクラスを使用してファイルの存在を確認する必要がある場合は、コンストラクターでパス全体を指定する必要があります。

Environment.getDataDirectory()(returns /data)、Environment.getRootDirectory()(returns )などがあります/systemが、アプリの「ホーム」ディレクトリの取得には何の関係もありません。

大したことではありませんが、ファイルを参照する方法がある場合は、使用するファイルのアプリにフルパスをハードコーディングしたくありません(パッケージ名が変更された場合、パスが将来のOSリリースで変更された場合など)。アプリの「ホーム」ディレクトリをプログラムで。

0 投票する
1 に答える
125 参照

android - Android、ビューの維持

私のアプリケーションには、ネットワーク部分と GUI の 2 つの部分が含まれています。ブラウザのように機能します。ユーザーがサーバーに情報を要求し、サーバーがビューを表すデータを送り返し、GUI がそれを表示します。

現在、ネットワーク部分をサービスとして実装しました。これは、すべてのビューをそれ自体で構築および保持します。アクティビティが作成されると、ネットワーク パーツはそのコンテンツ ビューを最後に受信したビューに設定します。

これは非常に簡単です。すべてのビュー階層を再作成してすべての状態を保存する必要はありません。

しかし、問題があります - サービス コンテキスト内でビューを作成できます。アクティビティの起動間でビューを保持できます。アクティビティが破棄されて作成されたときにビューをアンバインドおよび再バインドできますか? ただし、一部のビューにはアクティビティ コンテキストが必要です (例: ポップアップ ダイアログを作成するスピナー)。

では、作成後にビューのコンテキストを変更する方法はありますか?

私はAndroidプログラミングに非常に慣れていないので、これを行うためのより良い方法があるかもしれません(タスクは、たとえば、画面の回転が発生したときに、アクティビティが破棄および再作成されたときにビュー階層とすべての状態を維持することです)。

0 投票する
1 に答える
1051 参照

java - SD カードへの保存とコンテキスト メニュー機能を動的に、または押されたボタンに関連させる

以下のコードに関連して、どのように作成しますか

保存されるサウンドファイルが押されたボタンに基づいているように、静的ではなく動的ですか?

サウンド ファイルは、sound1、sound2、sound3 などとして保存された soundArray にあります。各サウンド ファイルにはボタンがあります。クリックして再生します。長押しすると、以下のコンテキスト メニューが表示されます。

どんな助けやヒントも大歓迎です。

0 投票する
1 に答える
1599 参照

java - アクティビティではない抽象クラスでコンテキストを取得する

AsyncTask の抽象的な実装を構築しようとしていますが、カスタム ProgressDialog を挿入したいと考えています。アクティビティ クラスの外部でコンテキストを取得するにはどうすればよいですか?

}

0 投票する
2 に答える
1284 参照

android - メモリリークを追跡する方法-生きている参照を見つける

私はかなり複雑なアプリを持っています-

UIアクティビティは、サービスを起動し、2ウェイAIDLコールバックを設定して、2つが通信できるようにします。

サービスは永久に実行されます(UIアクティビティの[オフ]ボタンを押さない限り)。

問題は、ユーザーがアクティビティを終了するときに、アクティビティメモリが解放されないことです。-UIアクティビティを閉じても、アプリで使用されるメモリの量は同じです。-UIアクティビティが閉じられている場合でも、ヒープにはmapTilesやその他のUIがらくたが表示されます。

だから私の推測では、サービスはどういうわけかアクティビティへの参照を保持しています。アクティビティコンテキストのリークについて警告する多くの記事を知っています。サービスは、アプリケーションスコープに格納されている弱参照を介してのみアクティビティを参照します。(アプリケーションを拡張するクラス)

アクティビティを具体的に参照しているものを見つける方法はありますか?ドミネーターツリーには、すべてのメモリを消費しているmapTilesとListViewのレイアウトが表示されます...しかし、そのようなものを存続させているアクティビティへの参照が見つかりません。

また、OutOfMemoryExceptionが発生した場合にHPROFヒープダンプをダンプする方法はありますか?

0 投票する
2 に答える
2157 参照

android - getApplicationContext()を使用すると、例外がスローされます

既存のAndroidプロジェクトの別のクラスに基づいてクラスを指定しました。addRow()メソッドは、テーブルに行を動的に追加することになっています。行に追加する新しいTextViewを作成するとき、およびその行を作成するときに、「コンテキスト」を指定することになっています。現在の方法では、「getApplicationContext()」を試行するとNullPointerExceptionがスローされます。では、どこからそのコンテキストを取得する必要がありますか?

私の見解が拡張しているクラス:

0 投票する
4 に答える
28073 参照

android - AndroidでgetContentResolverを呼び出すにはどうすればよいですか?

最初のAndroidアプリでロジックの一部をカプセル化するライブラリクラスを作成しています。カプセル化したい関数の1つは、アドレス帳を照会する関数です。そのため、が必要ContentResolverです。ライブラリ関数をブラックボックス化する方法を理解しようとしています...つまり、Activityを取得するために独自のコンテキストで各パスを使用しないようにしContentResolverます。

ContentResolver問題は、ライブラリ関数内からを取得する方法を一生理解できないことです。を含むインポートが見つかりませんgetContentResolver。グーグルは、を呼び出すgetContextために使用すると言いましたが、どちらかを含むインポートが見つかりません。次の投稿は、呼び出すオブジェクトを取得するために使用すると言われています。しかし、どちらかを含むインポートが見つかりません!ContextgetContentResolvergetContextgetSystemServicegetContextgetSystemService

だから私は疑問に思っています、カプセル化されたライブラリ関数内でContentResolverを取得するにはどうすればよいですか、それともActivityそれ自体のコンテキストへの参照ですべての呼び出しパスを持っているのでかなり行き詰まっていますか?

私のコードは基本的に次のようなものです。

getGroupsは、を渡す必要がないように、ContextまたはContentResolver可能であれば、それをきれいにブラックボックス化することを望んでいたために探していたメソッドです。

0 投票する
1 に答える
200 参照

android - 「非グラフィック」クラスからアプリケーションコンテキストを取得する方法

SQLitesアクションを処理する「データベース」クラスがあります。そのコンストラクターの一部は、アプリケーションのコンテキストです。これまでのところ良好ですが、現在、このデータベースクラスを使用する必要があるBroadcastReceiverを拡張する「モニター」クラスがあり、そのインスタンスを構築するためのコンテキストがありません。したがって、2つの選択肢があります。

  1. 「monitor」クラスからアプリケーションのコンテキストを取得するにはどうすればよいですか。
  2. 「データベース」クラスからアプリケーションのコンテキストを取得するにはどうすればよいですか。

ありがとう