java - Android DataBinding可以使用内部类吗?

标签 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>

如果我设置“监听器”,它总是错误。这意味着我无法设置内部类,或者我应该以其他方式设置“监听器”?

最佳答案

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

关于java - Android DataBinding可以使用内部类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36894435/

相关文章:

java - Spring Initializr 项目无法运行并出现多个错误

java - 如何在 scriptlet 中使用脚本变量

java - eclipse : Element type "Context" must be declared

java - 为什么 Android View 的 onCreate 方法不仅仅是构造函数?

android - 长按触发多选

java - 是否可以将 BitmapDescriptor 转换为位图?

java - 我如何从 Groovy 构造一个(非静态的)Java 内部类

java - Swing 工作线程 : Inner class vs passing parameter

java - 无法在 Glassfish 4 中创建 jdbc 领域

java - java 是否应该给出有关从内部类分配私有(private)变量的错误消息?