Не могу использовать / найти мой пользовательский вид при определении макета - PullRequest
3 голосов
/ 25 декабря 2009

Я пытаюсь создать пользовательский вид, а затем использую его в своем макете.

Мой пользовательский вид называется NodePickup, и для этого у меня есть два файла:

  • Рез / макет / nodepickup.xml
  • SRC / com.codeshogun.android.swipesample / NodePickup.java

nodepickup.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout01"
    android:layout_width="fill_parent"
    android:layout_height="48dip"
    android:background="#aa0000"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/ImageView01"
        android:layout_width="48dip"
        android:layout_height="48dip"
        android:background="#FFFFFF"
        android:src="@drawable/arrow_up_green" >
    </ImageView>

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/LinearLayout01"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#FFFFFF"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/time"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="14:46 (15 min), 1 res"
            android:textColor="#000000"
            android:textSize="12dip" >
        </TextView>

        <TextView
            android:id="@+id/road"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Karl XII gatan 6"
            android:textColor="#000000"
            android:textSize="12dip" >
        </TextView>

        <TextView
            android:id="@+id/name"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Bertil Håkansson"
            android:textColor="#000000"
            android:textSize="12dip" >
        </TextView>
    </LinearLayout>

</LinearLayout>

NodePickup.java:

package com.codeshogun.android.swipesample.CustomViews;

import com.codeshogun.android.swipesample.R;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.LinearLayout;

public class NodePickup extends LinearLayout {
    public NodePickup(Context context, AttributeSet attributeSet) {
        super(context, attributeSet);
        LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        inflater.inflate(R.layout.nodepickup, this);
    }
}

Я пытаюсь добавить этот вид / виджет в файл макета, main.xml:

<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res/com.codeshogun.android.swipesample.CustomViews"
    android:id="@+id/flipper"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#FF0000" />

        <!-- If I try to add it here, it wont work -->
        <com.   <!-- <-- will not give me the widget...? -->

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#00FF00" />
    </LinearLayout>
</ViewFlipper>

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

...