2010-06-20 44 views
1

我想創建一個自定義控件,除了裝飾顯示的文本,什麼都不做。當我在main.xml中引用這個類時,就像我正在閱讀的所有示例並將其部署到模擬器中,該小部件只是說「問題加載Widget」。不能讓我的自定義Android視圖顯示

我開始Android開發,並只是想了解如何dev的自定義控件:

這是ExtendedTextView控制:

package uk.co.andrewrea.android; 

import android.content.Context; 
import android.util.AttributeSet; 
import android.widget.TextView; 

public class ExtendedTextView extends TextView { 

    public ExtendedTextView(Context context) { 
     super(context); 
     // TODO Auto-generated constructor stub 
    } 

    public ExtendedTextView(Context context, AttributeSet attrs){ 
     super(context,attrs); 
    } 

    public ExtendedTextView(Context context, AttributeSet attrs, int defStyle){ 
     super(context, attrs, defStyle); 
    } 

    @Override 
    public CharSequence getText() { 
     // TODO Auto-generated method stub 
     return "***" + super.getText() + "***"; 
    } 

} 

這是main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:orientation="vertical" 
    android:background="@drawable/widget_bg_normal" 
    android:layout_gravity="center" 
    android:layout_height="wrap_content"> 
<uk.co.andrewrea.android.ExtendedTextView android:id="@+id/widget_textview" 
    android:text="@string/hello" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:layout_gravity="center_horizontal|center" 
    android:layout_marginTop="5dip" 
    android:padding="10dip" 
    android:textColor="@android:color/black"/> 
</LinearLayout> 

歡呼聲,

Andrew

回答

2

當我引用這個類的 的main.xml裏面像我 正在讀和部署此爲 模擬器的所有例子中,該控件只是說 「問題加載控件。」

此消息僅針對主屏幕應用程序窗口小部件顯示。如果這是您正在嘗試構建的內容,則不能將自定義View類用於應用程序小部件。您只能使用Activities的自定義View類。

+0

我認爲通過將標準視圖置於'android.widget'中,他們將視圖與Widgets混淆是非常不幸的。呃,它真的使討論像這樣的問題有時是一種真正的痛苦。 – Qberticus 2010-06-20 17:55:48

+0

這將是那麼大聲笑。謝謝! – 2010-06-20 19:57:59

相關問題