1

我的应用程序是关于操纵和显示特定实体的不同视图。我有一个名为的类Item,它在我的应用程序中定义了一个实体。我创建了一个自定义布局,它知道如何呈现特定版本的Items:

public class MyItemLayout extends FrameLayout {
    public MyItemLayout(Context context, AttributeSet attrs) { ... }
}

我希望能够在 XML 中引用它:

<MyItemLayout .../>

我还不明白的是:

  1. 如何在 XML 中引用它?
  2. 如何设置Item元素的实例?我不能在 XML 中做到这一点(或者我可以吗?),那么我将如何在代码中做到这一点?

谢谢。

4

1 回答 1

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 有所帮助

于 2011-04-13T02:23:32.877 回答