1

我设置了我的 xml,以便每个类都包含相同的菜单栏。我必须复制每个使用菜单栏的类中的按钮 onClick 调用的每个方法。有没有解决的办法?我试图扩展另一个类,但每个类都已经扩展了活动,你不能在 Android 中扩展多个类。

示例:菜单栏有按钮 doStuff。A 类包括菜单栏。A 类实现 doStuff。B类包括菜单栏。B 类实现 doStuff。

他们都以完全相同的方式实现相同的方法。有没有办法一次定义这些方法(如 doStuff)并让每个按钮调用该方法?

4

2 回答 2

1

我的解决方案是让每个按钮调用一个方法。这在所有使用按钮的类中都重复了。然后将这些单独的方法称为中央方法,以便可以从一个位置更改代码,而不必重复更改。

示例:菜单栏有按钮 doStuff。A 类包括菜单栏。A 类实现 doStuff。B类包括菜单栏。B 类实现 doStuff。

解决方案:菜单栏有按钮doStuff。A 类包括菜单栏。A 类实现将调用引用到中心类的处理程序。B类包括菜单栏。B 类实现处理程序。

于 2012-12-26T20:11:56.030 回答
0

您可以创建另一个实现doStuff()方法的类,然后只为每个类中的按钮设置侦听器。您将始终必须通过调用setOnClickListener()(或在 XML 文件中,但我不知道您是否可以调用另一个类方法)来设置侦听器。如果您需要类中的一些视图,则可以将它们作为参数传递。

于 2012-12-25T19:53:51.850 回答