3

私は Android とスタック オーバーフローの両方が初めてです。Android アプリの開発を開始しましたが、次の 2 つのことを考えています。

1) TextView をパラメータ化することは可能ですか? 「ユーザーの年齢は 38 歳です」のようなテキスト メッセージをレンダリングしたいとします。ユーザーの年齢がアルゴリズムの結果であるとしましょう。典型的な i18n フレームワークを使用して、i18n ファイルに「ユーザーの年齢は {0}」のように記述します。次に、実行時にそれに応じてパラメーターを入力します。Androidでこれまたは同様のアプローチを行う方法を理解できませんでした。

2) 多くのフィールドを持つ複雑なオブジェクトがあるとします。例: ID、名前、年齢、国、お気に入りのビデオ ゲームなどを持つ PersonModel。このすべての情報を 1 つのアクティビティで 1 つのレイアウトにレンダリングしたい場合、私が見つけた唯一の方法は、必要なすべての TextView を ID で取得し、コードを使用して 1 つずつ入力することです。次のようなものを実行できるマッピング/バインディングメカニズムがあるかどうか疑問に思っていました:render(myPerson, myView) と、リフレクションを通じて自動的に各モデルプロパティが各 TextViews にマップされます。誰かがSpringMVCを使用したことがある場合、ドメインオブジェクト/モデルをビューにマップするメカニズムに似たものを探しています(例: spring:forms)。

ご協力いただきありがとうございます。これが他の誰かに役立つことを願っています=)さようなら!

4

1 に答える 1

2

#1への回答:String.format()が必要です。それはあなたに次のようなことをさせます:

int age = 38;
String ageMessage = "The user age is %d";
myTextView.setText(String.format(ageMessage, age));

最もよく使用する2つは%d、数字と%s文字列です。知っている場合はprintf形式を使用し、知らない場合はFormatterドキュメントに簡単なチュートリアルがあります。

#2の場合、あなたはそれを最善の方法で行っていると思います(ビューフックをつかんで手動で入力します)。あなたが何か他のものに出くわしたなら、私はそれを見たいです。

于 2010-02-12T07:22:47.337 に答える