在custom 的preference中可以添加textview等widget,直接通过findviewbyid找到某一widget并设置其text是不行的。
方法是:
1.
在custom preference中的
protected void onBindView(View view)找到该widget
findViewById(R.id.txt);
if (null != mMoreInfo) {
tvMore = (TextView)mView.findViewById(R.id.txt);
tvMore.setText(mMoreInfo);
}
2.
对外导出
public void setMoreText(String strInfo) ;
在其中设置txt并以类成员变量形式保留。
然后调用
继承自父类的notifyChanged();
eg
public void setMoreText(String strInfo) {
mMoreInfo = strInfo;
notifyChanged();
}
**这样在调用notifyChanged();后会再一次回调到onBindView
这样在这里就可以设置某一个widget的内容或者颜色等信息了。**