Android– 以编程方式更改EditTextPreference对话框的正面按钮文本

Android– 以编程方式更改EditTextPreference对话框的正面按钮文本,第1张

概述我试图在`EditTextPreference中更改Dialog的positiveButtonText.我试过以下但没有成功://ThereferencetothepreferenceintheviewheirarchymUrlPreference=(EditTextPreference)getPreferenceScreen().findPreference(pref);//Addatextwatcher

我试图在`EditTextPreference中更改Dialog的positivebuttonText.我试过以下但没有成功:

    // The reference to the preference in the vIEw heirarchy    mUrlPreference = (EditTextPreference) getPreferenceScreen().findPreference(pref);           // Add a textwatcher    mUrlPreference.getEditText().addTextChangedListener(prefWatcher);

prefWatcher如下:

private TextWatcher prefWatcher = new TextWatcher() {    @OverrIDe    public voID onTextChanged(CharSequence s, int start, int before, int count) {    }    @OverrIDe    public voID beforeTextChanged(CharSequence s, int start, int count,            int after) {    }    @OverrIDe    public voID afterTextChanged(Editable s) {        Log.i(TAG_LOG, "Updating the positive button text");        mUrlPreference.setPositivebuttonText("Download");    }};

当我更改EditText中的文本时,将打印日志,但正面按钮文本不会更改.这里有什么我想念的吗?我最初的想法是,我必须刷新对话框的视图层次结构,但我没有在API中看到任何方法来执行此 *** 作.关于我在这里缺少什么的想法?

解决方法:

根据setPositiveButtonText()的文档,更新的文本将显示在后续对话框中.所以要实际影响按钮,请改为:

@OverrIDepublic voID afterTextChanged(Editable s) {    mUrlPreference.setPositivebuttonText("Download");    button button = (button) mUrlPreference.getDialog().findVIEwByID(androID.R.ID.button1);    button.setText("Download");    button.invalIDate(); // if necessary}
总结

以上是内存溢出为你收集整理的Android – 以编程方式更改EditTextPreference对话框的正面按钮文本全部内容,希望文章能够帮你解决Android – 以编程方式更改EditTextPreference对话框的正面按钮文本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1116910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存