所以,在我的主要活动中,在onCreate()方法上,我检查是否是首次使用共享首选项运行的应用程序...如果是第一次运行应用程序,则会将用户重定向到欢迎活动,然后,当我按下后退按钮并返回主活动时,动作中的标题不显示..我已经用api 9和17进行了测试,这只发生在api 9中,所以我是猜测错误必须是关于使用操作栏的支持库的事情。有人可以帮助我吗?
主:
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
public class MainActivity extends ActionBarActivity {
SessionManager session;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// session
session = new SessionManager(getApplicationContext());
// check first time app run
session.checkFirstRun();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
SessionManager首次运行检查方法
// check first run
public void checkFirstRun() {
if(getFirstRunStatus() == true) {
// set first run key as false
editor.putBoolean("FIRST_RUN", false);
editor.commit();
// first time running the app, redirect user to welcome activity
Intent i = new Intent(_context, WelcomeActivity.class);
// Closing all the Activities
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// Add new Flag to start new Activity
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
_context.startActivity(i);
}
}
public boolean getFirstRunStatus() {
return pref.getBoolean(FIRST_RUN, true);
}
答案 0 :(得分:1)
以多种方式添加标题:
XML:
<activity
android:name=".....WelcomeActivity"
android:icon="@drawable/logo"
android:label="@string/app_name"
</activity>
在飞行中:
.setTitle("TITLE");
.setIcon(R.drawable.logo);
如果您想让它成为动态的,您可以将意图传递给... ...不确定这是否是您想要的:
.setTitle(extras.getString("title"));
希望有所帮助。
答案 1 :(得分:1)
在你的onCreateOptionsMenu中试试这个:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.action_menu_actions, menu);
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle("title");
actionBar .setDisplayShowTitleEnabled(true);
// OR:
// getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_HOME);
return true;
}