質問

各アクティビティにonSharedPreferenceChangedListenerを実装させるパスを選択しました。サービスが値を更新するためには、一度にいくつかのアクティビティに送り返されるようになります(どちらが焦点があるかは気にしません)

リスナーが呼ばれるとき、私はキーしか持っていません。次に、対応するビューを取得するには、そのキーの検索を実行する必要があります。これは失敗しました。 getCurrentFocus()を使用してから、findViewWithTag()を使用してみました。 getFocus()の後に.getRoot()を試しました。

テストのために、私はリスナーの外でビューをハンドルにしようとしました。 settexがuithreadの内側のrunnalbeで実行するために実行することを確認する必要がありました。

他のコードを見て、キーをチェックすると他のコードを実行します。これを行うには、ビューを動的にハンドルすることができます。これは、文字列キーに対応するIDがどのようなものであるかを知っているからですが、両方の方法は非効率的であるように思えます。

これは私に全体的な質問をもたらします。それは、XMLを使用して好みからビューのテキストを直接入力する方法ですか?そうすれば、リスナーを実装するさまざまなアクティビティについて心配する必要はありません。すべてがXMLファイルに含まれており、自由に動き回ることができます。

役に立ちましたか?

解決

サービスが値を更新するためには、一度にいくつかのアクティビティに送り返されるようになります(どちらが焦点があるかは気にしません)

それでは、ブロードストの意図を使ってみませんか?または、サービスでアクティビティによって登録されたリスナーオブジェクト?

それは、XMLを使用して好みからビューのテキストを直接入力する方法ですか?

任意の活動用ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top