ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android Preferenceactivity getView

2019-09-01 21:27:39  阅读:192  来源: 互联网

标签:preferenceactivity android


我有这样的代码:)
我想编辑我的自定义首选项布局的文本属性.
但是对getView函数的对象所做的任何更改都不会影响首选项屏幕中的实际列表.有任何想法吗?我知道我无法扩展PreferenceScreen,在这种情况下我无法使用任何其他类型的首选项,我只希望能够在代码中从我的布局编辑自定义textview.

PreferenceScreen settings = getPreferenceManager().createPreferenceScreen(this);

settings.setLayoutResource(R.layout.mypreference);
View test = (View) settings.getView(null,getListView());

TextView text = (TextView)test.findViewById(R.id.text);
text.setText("BLA BLA");    

解决方法:

我们应该使用getView(convertView, parent)但是在StackOverflow上有无数未解答的问题,显然没有人知道如何使用它.所以我们唯一的选择是创建自定义首选项:

创建一个新类:

public class CustomPreference extends Preference {
    public CustomPreference(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onBindView(View rootView) {
        super.onBindView(rootView);

        View myView = rootView.findViewById(R.id.myViewId);
        // do something with myView
    }
}

在xml / preferences.xml中,添加自定义首选项:

<your.package.name.CustomPreference
    android:key="custom_preference"
    android:layout="@layout/custom_layout" />

标签:preferenceactivity,android
来源: https://codeday.me/bug/20190901/1786166.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有