1

コード全体でいくつかのメソッドが使用されるクラス「Utils」が必要です。たとえば、さまざまなアクティビティでさまざまなテキストとアイコンを表示する必要があるatextviewと2つのトップバーがあります。ImageButton

私はすべての活動でこのようなものを書いていることに気づきます:

(TextView) topBarText = (TextView) findViewById(R.id.topBarText);
topBarText.setText(R.id.mytextForThisView);

アプリ全体でViewByIdを1回検索し、メソッドを呼び出すsetupTopBar(String text, R.id.iconForImageButton1, R.id.iconForImageButton2)か、現在のアクティビティのIDを渡して、テキストと画像に何を表示するかをメソッドに認識させたいと思います。

クラスを作成しましたUtilが、拡張されませんActivity。問題は、findViewByIdアクセスできない場合はアクセスできないため、使用できないことです。

Androidでこのようなことをするためのパターンは何ですか?

4

2 に答える 2

5

ヘルパーメソッドは次のようになります

public static void setTopBarText(Activity act, int textId){
    (TextView) topBarText = (TextView)act.findViewById(R.id.topBarText);
    topBarText.setText(textId);
}

次に、Activityから静的インポートを実行して、

setTopBarText(this, R.id.mytextForThisView);
于 2010-07-20T05:19:28.717 に答える
0

答えは状況によっては良くありません。

これが私の方法です:

In your Activity:
YouCustomClassObject.passView((View)findViewById(R.id.aview));

パラメータの受け渡しを使用すると、この種の問題を解決できます。

于 2011-02-28T09:40:43.700 に答える