如何在Android中创建可重用的代码?

时间:2013-10-03 15:01:46

标签: java android xml code-reuse

我正在编写一个Android应用程序,其中我有这段代码,为用户创建了一种插入金额的方式。它包括根据位置设置货币符号和小数点,并在用户点击点或逗号时将焦点从整数文本框跳转到十进制文本框。

因为我想在我们的应用程序中的几个地方重新创建这段代码,所以我希望将它与视图的其余部分分开。所以我创建了一个单独的xml文件并在一个单独的java文件中对其进行充气,在该文件中我保留了设置货币等的方法。然后我将其“导入”在xml文件中,如下所示:

<com.example.android.ui.widget.AmountWidget 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
</com.example.android.ui.widget.AmountWidget>

当我需要在一个页面中多次使用此代码时,会出现问题。由于TextEdit框具有id,如果我多次使用此代码,则会重复使用此ID,并且它实际上变为无效。

所以我的问题就变成了;我怎么能以每次调用这段代码时都可以为它设置id的方式重用一段代码?

1 个答案:

答案 0 :(得分:2)

在xml代码上使用<include/>。这里有一个official example

修改

This link提供了更多信息,以覆盖所包含布局的ID。

编辑2

在你的最后一条评论之后,即使我不知道你项目的完整结构,我的想法是:你可以覆盖XML文件id的{​​{1}},并且您可以使用切换案例检查Layout的父级代码。

EditText

然后在您的代码中,在指向EditText后使用case / switch。

顺便说一下,如果你只有几行就可以避免使用include;相反,如果你有很多行,请使用 ListView