gpt4 book ai didi

android - 在xml文件中实例化一个内部类(Preference)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:42:35 25 4
gpt4 key购买 nike

当你想访问一些自定义 View 时 layout.xml文件,你有两个选择:

  1. View 在它自己的类中。然后你做<package.name.MyView android:layout_width= ... />
  2. View 是内部类:<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 ”->“类”的情况:

View createViewFromTag(View parent, String name, AttributeSet attrs) {
if (name.equals("view")) {
name = attrs.getAttributeValue(null, "class");
} ...

Preference 的 PreferenceInflater 没有,所以这是针对“类”的情况。

它在其 createItem() 方法中使用了反射,这可能就是第一种情况适合您的原因。

关于android - 在xml文件中实例化一个内部类(Preference),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7249028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com