Пользовательский макет не отображается - PullRequest
0 голосов
/ 10 марта 2012

Я пытаюсь сделать заголовок многоразового использования.Вот мой XML.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg" >

    <ImageButton 
        android:id="@+id/imagebuttonforheader"
        android:layout_height="50dp"
        android:layout_width="50dp"
        android:layout_alignParentLeft="true"
        android:background="@drawable/back_button"
        />

    <ImageButton 
        android:id="@+id/imagebuttonforheader"
        android:layout_height="50dp"
        android:layout_width="50dp"
        android:layout_alignParentRight="true"
        android:background="@drawable/forward_button"
        />

</RelativeLayout>  

Я сделал для него класс:

public class Header extends RelativeLayout {
    Context context;
    Activity activity;

    public Header(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.context = context;
        LayoutInflater li  = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        li.inflate(R.layout.header, null, false);
    }
}

И затем добавил этот макет в мой main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <my.testy.view.Header
        android:id="@+id/headerOnMain"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true" >
    </my.testy.view.Header>

    <TextView
        android:id="@+id/textView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/headerOnMain"
        android:text="@string/hello" />
</RelativeLayout>

Нооно не отображается в приложении.

Что я здесь не так делаю?

1 Ответ

1 голос
/ 10 марта 2012

Вы должны прикрепить свой раздутый макет к вашему пользовательскому классу:

li.inflate(R.layout.header, this, true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...