2017-06-14 105 views
0

我目前正在使用VS2017上的Xamarin PCL項目。在Android項目下,我創建了一個名爲TestBtn的類。代碼如下所示。我按照按鈕元數據並相應地聲明瞭構造函數,如下所示。但是我得到一個錯誤的Button不包含一個帶0參數的構造函數。按鈕不包含帶0參數的構造函數

任何想法爲什麼這我得到這個錯誤?

namespace CustomRibbonRenderer.Droid 
{ 
    public class TestBtn: Button 
    { 
     public TestBtn(Context context) 
     { 

     } 
    } 
} 
+0

'public TestBtn(Context context,IAttributeSet attributeSet):base(context,attributeSet){}' - 試試這個 – Yupi

+0

很酷的工作。感謝yupi! :D任何想法爲什麼:base(上下文)是必需的,但? –

+0

需要將'Button'的.NET表示形式鏈接到'Button'的Android/Java運行時版本。這可以讓Xamarin.Android運行時實例化它。 – matthewrdev

回答

1

Button代表一個按鈕小部件。用戶可以按下按鈕或點擊按鈕來執行操作。 Acording到Xamarin文檔Button類接受4個公共構造函數和一個受保護的:

Button(Context) 
Button(Context, IAttributeSet) 
Button(Context, IAttributeSet, Int32) 
Button(Context, IAttributeSet, Int32, Int32) 

錯誤是出現在你的代碼,因爲你也沒有告訴base()base關鍵字用在構造函數中。派生類構造函數需要從其基類調用構造函數。

0

您有一個構造函數接受一個參數(上下文)。如果初始化TestBtn時沒有參數可能會出現錯誤。

相關問題