我有子类首选项,并在attrs.xml中创建了自定义样式,如下所示:
<declare-styleable name="MyPreference">
<attr name="myAttribute" format="reference" />
</declare-styleable>
我可以在xml中声明我的Preference,如下所示:
<com.my.project.MyPreference
android:title="myTitle"
namespace:myAttribute="@array/sleep_time_values" />
我可以正常访问自定义属性:
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyPreference, 0, 0);
thing = a.getText(R.styleable.MyPreference_myAttribute);
我的问题是:如何访问(在代码中)上面xml定义中指定的内部android:title属性?
答案 0 :(得分:0)
框架样式化数组不是公共的(或稳定的),但您可以使用相同的方法获取单个公共属性以获取样式属性。这应仅用于获取单个属性,因为资源框架期望属性数组按特定顺序。
TypedArray a = context.obtainStyledAttributes(
attrs, new int[] { android.R.attr.title }, 0, 0);
String title = a.getText(0);