只有我的主要活动可以访问我的交换机而不是它所在的片段

时间:2014-12-20 15:56:09

标签: android android-fragments navigation-drawer

我有一个导航抽屉Android项目,有几个片段。在其中一个片段布局中,我有一个切换开关。我在片段活动中有这个简单的处理程序存根:

public void onCellDataSettingClicked(View view) {
        boolean on = ((Switch) view).isChecked();

        if (on) {
            // Enable vibrate
        } else {
            // Disable vibrate
        }
    }

问题在于,当我到达这一行" boolean on =((Switch)视图).isChecked();"程序崩溃了。我无法从我的片段活动访问Switch。如果我在主要活动中放置相同的代码,一切正常。

如何让我的处理程序在相关片段的活动中工作,而不仅仅是主要活动?

1 个答案:

答案 0 :(得分:0)

如果我关注你,你只需要在boolean的父活动中制作一个getter,然后从你的片段中调用getActivity().isMyBooleanName()。请参阅this answer