所以我只是试图检查我的网络连接并执行执行,如果它是真或假。我知道在片段中你可以在获得系统服务之前使用getactivity,但是这对我不起作用?谢谢你的帮助:)
public class Fragment1 extends Fragment implements View.OnClickListener {
TextView textView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.frag1, container, false);
ConnectivityManager connectivityManager =(ConnectivityManager).getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if(networkInfo!=null && networkInfo.isConnected())
{
textView.setVisibility(View.INVISIBLE);
}
else
{
Byron.setEnabled(false);
Lennox.setEnabled(false);
Skenners.setEnabled(false);
Ballina.setEnabled(false);
}
答案 0 :(得分:0)
在ViewGroup内部,您可以使用getContext()方法获取系统服务。
ConnectivityManager connectivityManager =(ConnectivityManager)getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
答案 1 :(得分:0)
您可以在自定义视图/视图组的所有构造函数中添加init()函数,如下所示:
import
答案 2 :(得分:0)
在你的项目AppUtil中创建一个单独的类:
public class AppUtil{
public static boolean isNetworkConnectionAvailable(Context ctx, boolean showDialog){
ConnectivityManager manager =(ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = manager.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
if(!isConnected&&showDialog){
AppUtil.showSimpleDialog(ctx, ctx.getString(R.string.network_not_available),
ctx.getString(R.string.internet_not_available));
}
return isConnected;
}
}
要检查网络连接,请执行以下操作:
public class Fragment1 extends Fragment implements View.OnClickListener {
TextView textView;
if (AppUtil.isNetworkConnectionAvailable(this, true)){
textView.setVisibility(View.INVISIBLE);
}
else{
Byron.setEnabled(false);
Lennox.setEnabled(false);
Skenners.setEnabled(false);
Ballina.setEnabled(false);
}
}