2

示例代码:

// activity contains different controls so inherits from Activity
public class Main extends Activity implements OnClickListener, TextWatcher  {

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        boolean titleSupported = false;            
        if (true) { // for on/off testing
          titleSupported = this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        } 
        setContentView(R.layout.activity_main);

        // see: http://stackoverflow.com/questions/3438276/change-title-bar-text-in-android
        if (titleSupported)) {
          getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
          final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
          if ( myTitleText != null ) {
            myTitleText.setText("@string/app_name");                    
          }                  
        }

当我包含“requestWindowFeature”时,应用程序在模拟器中停止/崩溃。我不明白为什么。我是 Eclipse 和 Android 的新手,但是从我可以搜索的内容来看,我正在以正确的顺序做事。对原因有任何想法吗?

在“setContentView ”之前使用“requestWindowFeature” ,我得到:

02-04 12:35:05.883: E/AndroidRuntime(755): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com.xxx.yyy/com.xxx.yyy.Main}: android.util.AndroidRuntimeException: 你无法将自定义标题与其他标题功能结合使用

在“requestWindowFeature”之前使用“setContentView” ,我得到:

02-04 12:32:32.660: E/AndroidRuntime(784): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com.xxx.yyy/com.xxx.yyy.Main}: android.util.AndroidRuntimeException: requestFeature () 必须在添加内容之前调用

4

2 回答 2

1

在 setcontentview 之后进行 requestfeature 调用

    setContentView(R.layout.activity_main);
    titleSupported = this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
于 2013-02-04T12:26:57.520 回答
0

尝试设置

<item name="android:windowNoTitle">false</item>

在你的主题中。

于 2013-12-23T09:53:05.597 回答