2016-04-27 98 views
0

UpdateActivity.java:Android DataBinding可以使用内部类吗?

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> 

,如果我设置的 '听众',它总是Errors.it是意味着我不能设置内部类,或者我应该在其他方面设置“侦听器”?

回答

3

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

+0

我知道了,我的问题是我可以使用内部类吗? –

+0

@csx是的,只要内部类是公共的,就可以使用内部类。不知道你为什么使用'''而不是'''。 – AgileNinja

+0

它的工作!我总是认为这个接口是默认公共的,而内部类必须使用$ –

相关问题