1

我想要一个“Utils”类,它将在我的代码中使用多种方法。例如,我有一个带有 atextview和两个ImageButtons 的顶栏,它们必须在不同的活动上显示不同的文本和图标。

我发现自己在每项活动中都写了这样的东西:

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

我想在我的整个应用程序中找到一次 findViewById,然后调用一个方法setupTopBar(String text, R.id.iconForImageButton1, R.id.iconForImageButton2),或者甚至传递当前 Activity 的 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 回答