【发布时间】:2014-03-27 07:42:47
【问题描述】:
我正在使用支持库 4 和 7。我正在按意图开始一项活动。那是ActionBarActivity,android.support.v7.app.actionbaractivity。
我遇到的问题是当我开始并显示一个新活动时。在我的活动显示之前,我得到一个带有这样的 android 徽标的空白活动。很难得到照片,但我认为它足以清楚地说明问题。
如何摆脱这种行为?
问题如下图所示。
1) 我的新活动开始加载。
2) 我的新活动即将加载完毕。
3) 我的新活动已加载。安卓图标现在不见了。
我以这种方式开始一项活动:
Intent intent = new Intent(this, SomeActivity.class);
startActivity(intent);
这就是我的配置在清单中的样子。
<activity
android:name="com.blah.bli.activities.SomeActivity"
android:alwaysRetainTaskState="true"
android:configChanges="keyboardHidden|orientation|screenSize"
android:icon="@drawable/tidsam_logo"
android:label="@string/empty_title"
android:launchMode="singleInstance"
android:theme="@style/Theme.AppCompat.Light" />
活动代码。首先,它们中的大多数都继承自此类,因为我需要一个注销功能,为此我需要跟踪用户上次活动的时间。我觉得下面没什么奇怪的。
活动量大,做的事很多
public class SuperActionBarActivity extends ActionBarActivity {
ApplicationExtension appState;
@Override
public void onUserInteraction(){
appState.LastActive = Calendar.getInstance();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
appState = ((ApplicationExtension )getApplicationContext());
appState.LastActive = Calendar.getInstance();
}
}
这是一个有问题的简单活动。
public class HelpActivity extends SuperActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_help);
setActionBar();
}
// todo: create actionbar util class
private void setActionBar() {
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.abs_layout);
TextView login = (TextView) findViewById(R.id.abs_layout_login);
login.setVisibility(View.INVISIBLE);
FontUtils.applyFontAwesomeToControl(this, findViewById(R.id.abs_layout_back));
}
public void onClick(View v) {
if (v == null) return;
switch (v.getId()) {
case R.id.abs_layout_back:
onBackPressed();
break;
}
}
}
【问题讨论】:
-
显示 com.blah.bli.activities.SomeActivity 代码
-
根据要求,我添加了其中一项活动的示例。
标签: android android-intent android-manifest android-support-library