我已经创建了一个实用程序控制器并通过xml(CyborgView
)对其进行了实例化。到目前为止一切顺利。
然而,当我想使用它时,我卡住了......如何从xml获得该控制器的引用?
请注意,我的目标是使用多个相同类型的控制器。
答案 0 :(得分:1)
在Cyborg 0.8.11(即将推出)中,您可以使用ViewIdentifier注释来注入控制器,而不仅仅是视图。
在Cyborg 0.8.10及以下版本中: 您可以以非常类似的方式获取控制器以获取视图,您可以像给定一个视图一样为CyborgView提供ID,然后使用该ID获取控制器:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:cyborg="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.nu.art.cyborg.core.CyborgView
android:id="@+id/CV_MyController"
android:layout_width="match_parent"
android:layout_height="wrap_content"
cyborg:controller="com.me.myself.i.MyController"/>
</LinearLayout>
然后在控制器本身中,覆盖extractMembers()函数,并在其中获取控制器:
private MyController myController;
@Override
protected void extractMembers() {
myController = getControllerById(R.id.CV_MyController);
}
要使用同一个控制器的多个实例,可以使用id属性区分它们。