m1n*_*f4n 9 android inner-classes preference preferencescreen android-xml
如果要在某个layout.xml文件中访问自定义视图,可以使用以下两个选项:
<package.name.MyView android:layout_width= ... /><view class="package.name.OuterClass$MyView" android:layout_width= ... /> 现在我想在一个内部做同样的事情<PreferenceScreen>.第一种方法效果很好,但我想将所有自定义Preference类放在我的PreferenceActivity中.我试过<Preference class="package.name.OuterClass$MyPreference" ... />(也用'.'而不是'$')<package.name.OuterClass.MyPreference ... />,但都失败了.
有没有人有想法?
在处理Views膨胀时,LayoutInflater寻找“view”->“class”情况:
View createViewFromTag(View parent, String name, AttributeSet attrs) {
if (name.equals("view")) {
name = attrs.getAttributeValue(null, "class");
} ...
Run Code Online (Sandbox Code Playgroud)
偏好PreferenceInflater没有,所以这是针对“类”的情况。
它在其方法中使用反射createItem(),这可能就是第一个案例适合您的原因。
| 归档时间: |
|
| 查看次数: |
1261 次 |
| 最近记录: |