3


0

Android TextViews。 パラメータ化は可能ですか? モデルへのバインドは可能ですか?

私はAndroidとStack Overflowの両方が初めてです。 Androidアプリの開発を開始しましたが、2つのことを考えています。

1)TextViewをパラメーター化することは可能ですか? たとえば、「ユーザーの年齢は38です」などのテキストメッセージを表示したいとします。 ユーザーの年齢がアルゴリズムの結果であると仮定しましょう。 典型的なi18nフレームワークを使用して、i18nファイルに「ユーザーの年齢は\ {0}」のように書きます。 その後、実行時にそれに応じてパラメーターを設定します。 Androidでこれを行う方法または同様の方法を理解することができませんでした。

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

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

1 Answer


2


#1への回答:http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#format%28java.lang.String,%20java.lang.Object …​%29 [String.format()]。 次のようなことができます:

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

最もよく使用するのは、数値用の %d`と文字列用の%s`です。 Formatterにクイックチュートリアルがない場合、既知の場合はprintf形式を使用します。 docs。

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