我的应用程序是关于操纵和显示特定实体的不同视图。我有一个名为Item
的类,它在我的应用程序中定义了一个实体。我创建了一个自定义布局,知道如何呈现特定版本的Item
:
public class MyItemLayout extends FrameLayout {
public MyItemLayout(Context context, AttributeSet attrs) { ... }
}
我希望能够以XML格式引用它:
<MyItemLayout .../>
我还不明白的是:
Item
实例?我不能用XML做到这一点(或者我可以吗?),那么我将如何在代码中做到这一点?感谢。
答案 0 :(得分:1)
您引用自定义组件(View或ViewGroup)的一种方法是拥有完整的包名称,例如<com.foo.bar.MyItemLayout>
从XML中声明传递数据的一个选项是在构造函数中使用AttributeSet
。如果您在XML中设置属性,则可以使用此类中的方法(例如getFloatValue()
)来获取该属性。
所以:
第1步:执行<com.foo.bar.MyItemLayout item="xxxx"></com.foo.bar.MyItemLayout>
之类的操作
第2步:在MyItemLayout
构造函数中调用attrs.getFloatValue()
(或您希望的任何类型)来获取数据
希望它有所帮助 JQCorreia