AttributeSet、Settings

 

 

//程序首先执行此函数

    public TypedefDialogPreference(Context context, AttributeSet attrs) {

       super(context, attrs);

       //通过此句得到布局里的自定义变量dialogMessage里的值,

括号里第2个参数其实是一个resId,要得到其字符串值,在布局里只能用

dialogMessage = "@string/dialogMessage",不能用dialogMessage = "字符串"形式。否则得到的是R.string.empty默认值。

dialogMessage = attrs.getAttributeResourceValue(null, "dialogMessage", R.string.empty);   

    }

 

 

 

TextView.setText(dialogMessage);//dialogMessage为int型,此函数通过resId得到字符串

 

 

 

 

TypedArray a = //TypedArray其实就是一个存放资源的Array,context.obtainStyledAttributes(attrs,R.styleable.RadioButton);    

this.mValue = a.getString(R.styleable.RadioButton_value);         

a.  recycle();

<declare-styleable name="RadioButton"><!-- 控件名称-->

<attr name="value" format="string"/><!-- 属性名称,类型-->

</declare-styleable>

 

 

 

 

Setting里面的一些设置也是通过数据库来保存的,今天才去看个究竟。那通过数据库来保存就会有Provider了,所以就会有SettingsProvider了。数据库的路径就是:/data/data/com.android.providers.settings. 但我们平常获取这里面的数据不是直接通过ContentResolve而是android已经封装了一层,通过Settings这个类来获取,就像MediaStore一样。比如我们获取飞行模式:Settings.System.getInt(mContext.getContentResolver(),Settings.System.AIRPLANE_MODE_ON, 0)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值