When you want to access a custom view in some layout.xml
file, you have two options:
- The view is in it's own class. Then you do
<package.name.MyView android:layout_width= ... />
- The view is an inner class:
<view class="package.name.OuterClass$MyView" android:layout_width= ... />
Now I want to do the same thing inside a <PreferenceScreen>
. The first way works well, but I would like to put all the custom Preference
classes together in my PreferenceActivity. I tried <Preference class="package.name.OuterClass$MyPreference" ... />
(also with '.' instead of '$') as well as <package.name.OuterClass.MyPreference ... />
, but both failed.
Does anyone have an idea?
When dealing with
Views
inflating,LayoutInflater
looks for a "view" -> "class" case:Preference's
PreferenceInflater
doesn't, so that is for the "class" case.It uses reflection in its
createItem()
method and that's probably why the first case works for you.