Android:操作栏的标题消失

时间:2013-12-03 02:08:33

标签: android

所以,在我的主要活动中,在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);
    }

2 个答案:

答案 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;
}