Java Android助手类
在我的android应用程序中,我有几个方法,我想在多个活动中重用它们,因为它是一个Java助手类,我没有从任何方面扩展它。我有两个问题,第一个是如何将上下文传递到java类,第二个是如何使用从helper类中的活动扩展而来的方法,下面是我的helper类: Java类Java Android助手类,java,android,android-context,Java,Android,Android Context,在我的android应用程序中,我有几个方法,我想在多个活动中重用它们,因为它是一个Java助手类,我没有从任何方面扩展它。我有两个问题,第一个是如何将上下文传递到java类,第二个是如何使用从helper类中的活动扩展而来的方法,下面是我的helper类: Java类 public class ScreenHelper { Context context; public ScreenHelper(Context ctx) { this.context = ctx
public class ScreenHelper {
Context context;
public ScreenHelper(Context ctx) {
this.context = ctx;
}
public int getStatusBarHeight(layout layout) {
Rect r = new Rect();
Window w = (Window) getWindow();
w.getDecorView().getWindowVisibleDisplayFrame(r);
return r.top;
}
public int getScreenHeight() {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int ScreenHeight = metrics.heightPixels;
return ScreenHeight;
}
public int getTitleBarHeight() {
RelativeLayout relaLayout = (RelativeLayout) findViewById(R.id.title_bar);
int titleHeight = relaLayout.getHeight();
Log.d("Title Height","Title Height:" + titleHeight);
return titleHeight;
}
}
任何帮助都将不胜感激。为什么不在所有这些方法中使用abstract
BaseActivity
?并在所有其他活动中扩展此课程
第一个是如何将上下文传递到java类中
您可以将其作为每个方法的参数传递。此外,为了便于访问,您可以将这些方法设置为最终静态
如何使用从helper类中的活动扩展而来的方法,
下面是我的助手类
这听起来像是糟糕的应用程序逻辑设计。从Activity类继承的方法应该是可见的,并且只能从Activity子类使用
但如果您确实需要它,也可以将活动作为方法参数传递,但我建议您找到另一种方法
更新:
如何将上下文作为每个方法的marameter传递
方法示例:
public static final void foo(Context c, int value, String message) {
// do your stuff
}
为什么不能将活动和上下文引用传递给助手类并执行必要的操作 这将确保您可以根据需要调用这两个对象上的所有方法
同一个类也可以用于未来的开发。那么我该怎么做呢?另外,如果我想要在其上使用此代码的类已经从另一个类扩展而来,我将如何做到这一点?感谢我需要使用这些类来扩展我的menuActivity,它扩展了SherlockActivity,这不是一个好的设计吗?我将如何以不同的方式去做呢?那么,如何将上下文作为每个方法的marameter传递?代码示例将非常有用,但如果我与您分享,它将不会帮助您。老实说,我没有任何代码。因为,您的需求是不同的,我只是不知道如何在java类中传递上下文并使用扩展自activity的方法