我想你是看着这个错误的方式。
您正在考虑[我的项目] - 开始 - > [活动]和[我的项目]处理活动所做的一切。实际上,因为操作系统(Android)只能运行活动(不是你的项目类独立),它应该是[活动] - 开始 - > [我的项目服务],它处理来自活动的消息。
当项目设置为这样时,您可以正常显示布局(与任何Activity一样)。您现有的项目类仍然可以做出所有决策,只是以相反的顺序开始。
这是用于任何跨平台应用程序(例如libgdx)的相同概念:该应用程序是运行您的通用代码的本机包装(活动)。
编辑:
当你只是想引发一些在活动时调用一个方法在自己的类,你可以使用一个回调接口:
public interface OnConnectionMadeListener {
void onConnectionMade();
}
您的活动可以实现它
public class MainActivity extends Activity implements OnConnectionMadeListener {
private View mOverlay;
public void onCreate() {
...
mOverlay = findViewById(R.id.overlay);
mOverlay.setVisibility(View.GONE);
new MyConnectionObject(this); //this will be your class that has the madeConnection() method
}
...
public void onConnectionMade() {
//show the overlay
mOverlay.setVisibility(View.VISIBLE);
}
}
那么你的对象内部
public class MyConnectionObject {
private OnConnectionMadeListener mCallback;
public MyConnectionObject(OnConnectionMadeListener callback) {
...
mCallback = callback;
}
public void madeConnection() {
...
if (mCallback != null) {
mCallback.onConnectionMade();
}
}
}
如果你有一个[mcve]添加,它可能有帮助 –