我正在编写一个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的方式重用一段代码?
答案 0 :(得分:2)
在xml代码上使用<include/>
。这里有一个official example。
修改
This link提供了更多信息,以覆盖所包含布局的ID。
编辑2
在你的最后一条评论之后,即使我不知道你项目的完整结构,我的想法是:你可以覆盖XML文件id
的{{1}},并且您可以使用切换案例检查Layout
的父级代码。
EditText
然后在您的代码中,在指向EditText后使用case / switch。
顺便说一下,如果你只有几行就可以避免使用include;相反,如果你有很多行,请使用 ListView 。