我在UpdateActivity.java
中有一个方法名称@NonNull
@SuppressWarnings("deprecation")
protected String checkForUpdate(int curVersionCode) {
HttpClient httpclient = new DefaultHttpClient();
...
}
。它看起来像这样:
private void callFromAnotherActivity() {
UpdateActivity updateApp = new UpdateActivity();
String result = updateApp.checkForUpdate(...);
}
我试图从anotherActivity调用它。所以我正在尝试使用这样的代码:
updateApp.
因此,当我输入UpdateActivity.java
时,会显示checkForUpdate()
的方法列表,但没有SELECT id, count(*) FROM seat
方法。为什么呢?
答案 0 :(得分:1)
所以我输入updateApp。然后出现UpdateActivity.java的方法列表,但没有checkForUpdate()方法。为什么呢?
这是因为您的方法不公开,可能无法导入UpdateActivity
。
请注意您无法通过调用以下内容创建活动:
UpdateActivity updateApp = new UpdateActivity();
您需要使用以下内容:
// context is your activity context.
Intent updateApp = new Intent(context, UpdateActivity.class);
context.startActivity(updateApp);
我的建议:
您需要从checkForUpdate
移动UpdateActivity
方法并将其设为util。因此,使用该方法的其他活动不会依赖并与UpdateActivity
结合。将方法本地化为类似这样的实用程序类:
public class UpdateUtil {
...
@NonNull
@SuppressWarnings("deprecation")
public static String checkForUpdate(int curVersionCode) {
HttpClient httpclient = new DefaultHttpClient();
...
}
}
然后使用方法:
UpdateUtil.checkForUpdate(1);
如果您无法移动代码(例如,您不拥有代码的所有权),则可以执行以下操作:
checkForUpdate
设为静态方法UpdateActivity
进行更新。答案 1 :(得分:0)
您不应该创建活动类的实例。这是错误的。活动有ui,生命周期和活动由startActivity(intent)启动 点击此处:call a method in another Activity