Android DataBinding可以使用内部类吗?

时间:2016-04-27 15:34:58

标签: java android inner-classes android-databinding

UpdateActivity.java:

public class UpdateActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ActivityUpdateBinding dataBinding = DataBindingUtil.setContentView(this, R.layout.activity_update);
    }

    interface Listener {
        void onClick(View v);
    }
}

activity_update.xml:

<data>
   <variable
       name="listener"
       type="com.kycq.reader.UpdateActivity$Listener"/>
</data>

如果我设置'listener',它总是Errors.it意味着我不能设置内部类,或者我应该在其他方式设置'listener'?

1 个答案:

答案 0 :(得分:3)

只要内部类被声明为public,就可以使用Android的数据绑定库访问内部类。通过确保它是公开的,我能够使用内部类。而不是使用com.kycq.reader.UpdateActivity$Listener使用com.kycq.reader.UpdateActivity.Listener来访问内部类。