在我的 android 片段中,我对我的应用程序是否在平板电脑上运行进行了以下简单检查(在平板电脑上我打开了 3 个视图,在手机上看不到视图 2 和 3,只看到第一个)
boolean mDualPane;
View detailsFrame = getActivity().findViewById(R.id.content1);
mDualPane = detailsFrame != null && detailsFrame.getVisibility() == View.VISIBLE;
这在片段本身中工作正常,但我需要在许多片段中进行完全相同的检查,所以我想在我的“MiscMethods”类中使用它,用于多个类中的常用方法。现在我班上的同一个鳕鱼看起来像这样:
public class MiscMethods{
public static boolean landscapeChecker(){
boolean mDualPane;
View detailsFrame = getActivity().findViewById(R.id.content1);
mDualPane = detailsFrame != null && detailsFrame.getVisibility() == View.VISIBLE;
return mDualPane;
}
}
对于 MiscMethods 类型,getActivity(如果我删除了 findViewById)是未定义的。
现在我有一个应用程序类的上下文,像这里
public static void ErrorToast(int errorCode) {
String errorString = null;
switch (errorCode) {
case 1:
errorString = App.getContext().getString(R.string.error_tooManyFieldsEmpty);
break;
case 2:
errorString = App.getContext().getString(R.string.error_featureComingSoon);
break;
case 3:
errorString = App.getContext().getString(R.string.error_SwitchBreak);
break;
default:
errorString="Wrong Error Code";
break;
}
Toast errormsg = Toast.makeText(App.getContext(), errorString, Toast.LENGTH_SHORT);
errormsg.setGravity(Gravity.CENTER, 0, 0);
errormsg.show();
}
但是这个 App.getContext() 也无济于事。
我怎样才能解决这个问题?