2016-10-17 74 views
8

首先,我在一週前開始使用C#和Xamarin開發Android,但我陷入了這個問題。System.MissingMethodException:未找到方法'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener'

我已經在堆棧溢出中找到了幾個文本,但可惜沒有奏效。

爲了解決這個問題,我採取了一些步驟。

  1. 之前下面的事情,當我開始調試與Android_Accelerated_x86(安卓6.0 -API 23),Visual Studio中開始找到NavigationPageRenderer,但不是有那麼我上面

  2. 我安裝和留言標題更新使用Android SDK Manager軟件包像下面

  3. 然後,我遇到了在標題信息中寫道

    System.MissingMethodException: Method 
    Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found 
    

    所以,我在努力尋找解決方案,

    1. 我下載JDK 1.8.0_101和Java開發工具包的位置的變化路徑(在工具>選項> Xamarin> Android的設置),但它沒沒有工作。我有像上面標題一樣的信息。

    2. 我去工具> NuGet包管理器>管理的NuGet的解決方案包和更新,只有Xamarin.Forms v2.3.2.127。然後我得到了7個錯誤。其中之一是

      Error: package android.support.v7.internal.widget does not exist.

  4. 而且我刪除解決方案,並做出新的項目,Xamarin.Forms我得到的警告消息像

    IDE0006 Error encountered while loading the project. Some project features, such as full solution analysis for the failed project and projects that depend on it, have been disabled

    和...我得到的消息一樣上面的標題。

  5. 而且我有兩個「調用堆棧」

    0x23 in Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.OnAttachedToWindow at NavigationPageRenderer.cs 
    
    0xA in Android.Views.View.n_OnAttachedToWindow at Android.Views.View.cs: 
    

請幫我解決這個問題?非常感謝您的關注

+1

天啊......我得到了答案!從http://stackoverflow.com/questions/39546360/xamarin-forms-missingmethodexception-android-support-v4-widget-drawerlayout-ad 更新後** Xamarin.Forms v2.3.2.127 **,仍** packages.config **沒有更新 然後我寫手動,它的工作! – wallah

+0

Yup安裝Xamarin.Forms v2.3.2.127也爲我解決了它! – Roboblob

回答

5

此問題是因爲谷歌改變了他們的支持庫,其中您將此偵聽器從SetDrawerListener()連接到AddDrawerListener()。因此,您需要確保您處於最新的穩定Xamarin.Forms。先前版本的Xamarin.Forms依賴於< Android.Support 23.3將引發此錯誤。您可以參考這個犯了更多的細節:

https://github.com/xamarin/Xamarin.Forms/commit/d9ed63f0add8345cf6ab1508b353dcbdacbcd97c

理論上講,該應固定在Xamarin.Forms版本2.2.0.31和更大。

https://www.nuget.org/packages/Xamarin.Forms/