从另一个班级打电话时初始化

时间:2017-12-21 08:59:16

标签: java android

public class Tab1 extends Fragment {  

    @Override
    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,
                         Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.tab1, container, false);

        clear()

        return rootView;
    }    

    public void clear() {

        SharedPreferences sharedPreferences = getActivity().getPreferences(0);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.clear();
        editor.commit();
    }
}

如果我想从除了它自己的clear()以外的其他类调用方法Tab1,我需要初始化它才能使其正常工作,因为此刻我得到{从另一个班级打电话时{1}} {1}}。{/ p>

1 个答案:

答案 0 :(得分:0)

可能未创建Activity

试试这个

protected Activity mActivity;


public void onAttach(Context context) {
    super.onAttach(context);
    this.mActivity = (Activity)context;
}

然后在您的代码中使用。

public void clear() {
    SharedPreferences sharedPreferences = mActivity.getPreferences(0);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.clear();
    editor.commit();
}
相关问题