Android DataBinding 可以使用 inner class 吗?

Can Android DataBinding use inner class?

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 意味着我不能设置内部 class,或者我应该以其他方式设置 'listener'?

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