2015-02-05 21 views
0

我通過擴展AppCompat SearchView以編程方式創建自定義視圖。我如何在XML中引用這個類?我無法使用完全限定名稱,因爲我使用具有不同包名稱的gradle的不同產品風格。具體來說,app:actionViewClass=".views.EventSearchView"導致ClassNotFoundException我通過繼承SearchView創建了一個自定義視圖。我現在該如何參考XML?

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context=".activities.MainActivity"> 
    <item 
     android:id="@+id/action_search" 
     android:title="@string/action_search" 
     android:icon="@drawable/ic_action_search" 
     android:orderInCategory="99" 
     app:showAsAction="ifRoom|collapseActionView" 
     app:actionViewClass=".views.EventSearchView" 
     /> 
    <item 
     android:id="@+id/action_settings" 
     android:title="@string/action_settings" 
     android:orderInCategory="100" 
     app:showAsAction="never" /> 
</menu> 
+0

嘗試使用具有完整軟件包名稱的類名'app:actionViewClass =「xxxxx.xxxx.views.EventSearchView」' –

+0

我試過了。但是,由於Gradle的產品口味/構建變體,我的應用的不同版本具有不同的軟件包名稱。 我該如何解決這個問題? – ZakTaccardi

+0

顯示當使用'app:actionViewClass =「。views.EventSearchView」' –

回答

1

完全合格的包名和xmlns:app="http://schemas.android.com/apk/res-auto"命名空間的伎倆。我一定在某個地方有過錯字。

相關問題