我知道这是一个非常频繁的问题,但我已经重复了所有重复的问题而没有用处:(
这是我的代码:
public class WifiFragment extends Fragment {
TextView tView ;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_wifi, container, false);
Button CheckWifibtn = (Button) rootView.findViewById(R.id.CheckWifi);
tView = (TextView) rootView.findViewById(R.id.textView5);
CheckWifibtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
CheckWifi();
}
});
return rootView;
}
public void CheckWifi() {
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if (!wifi.isWifiEnabled()) {
// wifi not enabled
tView.setText("Wi-Fi is Disabled");
}
else {
// wifi enabled
tView.setText("Wi-Fi is Enabled");
}
}
请大家帮助我解决问题,我收到的错误是getSystemService无法解决 我知道我可能需要在代码中的某处添加上下文,但是getContext和getApplicationContext都没有... 我是android编程的新手,请原谅我的问题:)
答案 0 :(得分:1)
您需要在Fragment中使用活动的上下文。因此,您可以使用getActivity()
。
public void CheckWifi() {
WifiManager wifi = (WifiManager) getActivity().getSystemService(Context.WIFI_SERVICE);
if (!wifi.isWifiEnabled()) {
// wifi not enabled
tView.setText("Wi-Fi is Disabled");
}
希望这有帮助。