2016-01-22 86 views
1

我有一个适用于活动的泛型基类的布局。该活动的定义是这样的:泛型类的数据绑定

public abstract class MyActivity<TUserType extends UserType> extends AppCompatActivity 

我想能够使用数据该类绑定,但是当我尝试在布局XML使用设置从这个类,设置不被识别时我编译。这是我的布局:

​​

“progressBarVisibility” 在MyActivity定义,并且是公开的。我猜我可能不得不定义UserType,但我不知道如何做到这一点的XML。或者这还不支持?

回答

0

无需定义UserType。 这是我的情况:

公共抽象类BaseStateVM扩展BasePVM {

@Bindable 
public int getState() { 
    return state; 
} 

<data> 

    <import type="com.rayman.v2ex.widget.anotations.PageState" /> 

    <import type="com.rayman.v2ex.viewmodel.BaseStateVM" /> 

    <import type="android.view.View" /> 

    <variable 
     name="viewModel" 
     type="BaseStateVM" /> 
</data> 

<LinearLayout android:id="@+id/loading_view" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@+id/toolbar" 
    android:gravity="center" 
    android:orientation="vertical" 
    android:visibility="@{viewModel.state==PageState.LOADING?View.VISIBLE:View.GONE,default=visible}"> 

    <ProgressBar 
     android:id="@+id/progress" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
</LinearLayout> 

希望这会帮助你。 而完整的代码是here