3

如何避免为完全相同的 UI 元素重复代码?在 android 中,要以编程方式访问元素,您需要使用唯一的 id 命名每个元素。

例如,我有一个后退按钮,无论在何处使用,它都执行完全相同的功能,但由于必须对它们进行标识,我最终拥有 BackButton1、BackButton2、BackButton3 等。因此,我必须为每个按钮重写相同的 OnClickListener。

是否有类似于 html 'class' 属性或类似方式在 android 中对元素进行分组?如果不是,那么命名重复元素的最佳方法是什么?

4

3 回答 3

2

如果您在布局 xml 中定义按钮,那么您可以使用该onclick属性来引用您的活动中的常用方法,该方法将在单击按钮时调用。

如果您onclick="doBack"在 xml 中使用,那么您的活动中有一个名为

public void doBack(View v) {
   // perform back
}
于 2012-05-30T15:14:50.107 回答
0

当然,您可以重用您的 UI 组件,有关更多详细信息,请参阅Android 开发者网站

你也ViewStub可以做你想做的事,以防你不希望整个Layout都被包含在内,而只是一些组件,再次学习这个的最佳来源将是Android 开发者网站

就重用ID而言,我的看法是你可以重用 ID,只要它们不在同一个Activity

来自开发文档:

ID 不必在整个树中是唯一的,但它应该在您正在搜索的树的一部分中是唯一的(这通常可能是整棵树,因此最好尽可能完全唯一)。

于 2012-05-30T15:34:38.857 回答
0

您是否考虑过这样一个事实,即在一个用户界面上拥有多个执行相同操作的元素是一个坏主意?如果您有一个按钮,单击该按钮会将您带到上一个活动,您可能应该将它放在屏幕的一个易于访问的部分中。

于 2012-05-31T15:26:12.490 回答