android-fragments 如何在Android中从片段中的Activity获取MaterialSwitch id?

yuvru6vn  于 2022-11-14  发布在  Android
关注(0)|答案(1)|浏览(183)

如何从activity. switch中获取fragment中的materialSwitch id,该switch位于mainActivity中,但我想在fragment中检查该switch是打开还是关闭。例如,通过从fragment中的mainActivity调用id,可以检查“if(switchMaterial.ischecked){ code. I.}”
我试过了,但是不起作用
MainActivity.java

public SwitchMaterial switchMaterial;

Fragment.java

if (((MainActivity) getActivity()).switchMaterial.isChecked()){
        Toast.makeText(getActivity(), "checked", Toast.LENGTH_SHORT).show();
    }else {
        Toast.makeText(getActivity(), "not checked", Toast.LENGTH_SHORT).show();
    }

这是可能的调用id从活动到片段。如果可能的话,请帮助我。

piok6c0g

piok6c0g1#

你可以在路上试试这个
MainActivity.java

static SwitchMaterial switchMaterial;

Fragment.java

if (MainActivity.switchMaterial.isChecked()){
        Toast.makeText(getActivity(), "checked", Toast.LENGTH_SHORT).show();
    }else {
        Toast.makeText(getActivity(), "not checked", Toast.LENGTH_SHORT).show();
    }

这应该可以工作,但在某些情况下可能会导致内存泄漏。您也可以尝试使用SharedPreferences,例如,以避免内存泄漏

相关问题