2016-04-27 45 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

它的工作!我總是認爲這個接口是默認公共的,而內部類必須使用$ –

相關問題