Android 自定义窗口标题

Android 自定义窗口标题,android,android-layout,Android,Android Layout,我正在创建自定义窗口标题。我用requestWindowFeature和setFeatureInt完成了,但没有工作。我不知道这是怎么回事。我找不到错误的来源 public abstract class MegaActivity extends Activity { private final int layoutID; public MegaActivity(final int layoutID) { super(); this.layoutID

我正在创建自定义窗口标题。我用requestWindowFeature和setFeatureInt完成了,但没有工作。我不知道这是怎么回事。我找不到错误的来源

public abstract class MegaActivity extends Activity {
    private final int layoutID;
    public MegaActivity(final int layoutID) {
        super();
        this.layoutID = layoutID;
    }

    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(layoutID);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title);
    }
}

public class AsyncTaskTestActivity extends MegaActivity {

    public AsyncTaskTestActivity() {
        super(R.layout.main);
    }
}

window_title.xml

    <ImageView
        android:id="@+id/header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:src="@drawable/megadict_icon"/>
    <TextView android:layout_width="wrap_content" android:id="@+id/textView1" android:layout_height="wrap_content" android:text="@string/appTitle" android:textSize="16dip" android:textColor="@color/white"></TextView>

</LinearLayout>

是AsyncTaskTestActivity启动器活动吗?您是如何调用该活动的?问题可能在于您的布局,请检查布局是否包含错误?暂时评论requestWindowFeature及其相关信息,如果您仍然遇到错误或资源问题?您对我的问题的回答可能会帮助您

也许我不明白您的意思,但您不能只使用Activity.setTitle函数吗?我希望窗口标题具有文本视图和图标,而不是文本字符串,因此不能使用setTitle。
07-06 23:42:46.996: ERROR/AndroidRuntime(774): FATAL EXCEPTION: main
07-06 23:42:46.996: ERROR/AndroidRuntime(774): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.asynctask/com.asynctask.AsyncTaskTestActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f030002
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.os.Looper.loop(Looper.java:123)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.app.ActivityThread.main(ActivityThread.java:4627)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at java.lang.reflect.Method.invokeNative(Native Method)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at java.lang.reflect.Method.invoke(Method.java:521)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at dalvik.system.NativeStart.main(Native Method)
07-06 23:42:46.996: ERROR/AndroidRuntime(774): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030002
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.content.res.Resources.getValue(Resources.java:892)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:1869)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.content.res.Resources.getLayout(Resources.java:731)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.view.LayoutInflater.inflate(LayoutInflater.java:318)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at com.android.internal.policy.impl.PhoneWindow.onIntChanged(PhoneWindow.java:992)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at com.android.internal.policy.impl.PhoneWindow.updateInt(PhoneWindow.java:2397)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at com.android.internal.policy.impl.PhoneWindow.setFeatureInt(PhoneWindow.java:933)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at com.asynctask.MegaActivity.onCreate(MegaActivity.java:20)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at com.asynctask.AsyncTaskTestActivity.onCreate(AsyncTaskTestActivity.java:26)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
07-06 23:42:46.996: ERROR/AndroidRuntime(774):     ... 11 more