我已经创建AbstractActivity并AbstractFormActivity删除了一些样板代码,它们的内容可能与问题无关,但无论如何我都会发布它,也许我误解了一些东西,它们是:
public abstract class AbstractActivity extends ActionBarActivity {
protected ObjectGraph graph;
@Inject
public Bus bus;
@Inject
public App app;
@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
setContentView(getLayout());
setupInjection();
}
public void setupInjection() {
graph = ((App) getApplication()).createScopedGraph(getModule());
graph.inject(this);
bus.register(this);
ButterKnife.inject(this);
}
protected abstract Object getModule();
protected abstract int getLayout();
}
Run Code Online (Sandbox Code Playgroud)
和
public abstract class AbstractFormActivity<T extends EntidadeBase> extends AbstractActivity implements Form<T> {
protected T entity;
protected Map<View, Boolean> formValidations;
protected AbstractFormActivity() {
formValidations …Run Code Online (Sandbox Code Playgroud) 我总是onCreate在Activity生命周期内使用方法从保存状态启动或恢复,但最近发现还有另一个onCreate方法,其中包含PersistableBundle:
@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
}
Run Code Online (Sandbox Code Playgroud)
我发现自Android 21以来它已被添加.
有人可以在电话和使用时提供有关此方法的完整信息吗?
所以,我有一个带有几张图片的菜单和一个onClick打开新页面的方法。这适用于除一个之外的所有菜单项。那一个的编写方式与其余的完全相同,但是当单击菜单项时,会出现一个空白的新页面,标题正确,但是 - 显然 - 没有调用onCreate新活动的方法。
也没有错误消息。
启动 Activity 的代码:
public void onClick(View v) {
Intent intent = null;
Context context = v.getContext();
switch(position) {
case 0:
intent = new Intent(context, BooksActivity.class);
break;
case 1:
intent = new Intent(context, GamesActivity.class);
break;
case 2:
intent = new Intent(context, MusicActivity.class);
break;
case 3:
intent = new Intent(context, FilesActivity.class);
break;
case 4:
intent = new Intent(context, VideosActivity.class);
break;
}
context.startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
除了 FilesActivity 之外,每个活动都像魅力一样。在 FilesActivity.onCreate 方法中,我打印了一个日志:
Log.d(TAG, "initialized");
Run Code Online (Sandbox Code Playgroud)
但该日志从未显示。
知道这里发生了什么吗? …