将不会从preferences更新

编程入门 行业动态 更新时间:2024-10-25 14:35:43
本文介绍了将不会从preferences更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

它更新的时候我编辑或只需单击preferences屏幕任意输入和比我首先要躲前面的活动确定前的活动。它给了我零按钮和preferences XML我给右键,还设置defaultValue。

所以..场景:我去preferences屏幕上,单击编辑按钮上的文字,只要点击确定,回去后,其0按钮,隐藏前的活动,回到前面的活动,是孤单的正确的价值。

我希望我列入所有必需的部件。

私人共享preferences preFS;    私人字符串移动电话号码;    私有静态最终诠释MENU_ preFERENCES = Menu.FIRST;    私有静态最终诠释SHOW_ preFERENCES = 1;    私人无效updateFrom preferences(){       移动电话号码= prefs.getString(移动电话号码,0);    }    私人无效refreshAplication(){       button.setText(移动电话号码);    }    @覆盖       公共无效的onCreate(捆绑savedInstanceState){       super.onCreate(savedInstanceState);       的setContentView(R.layout.main);       preFS = preferenceManager.getDefaultShared preferences(本);       updateFrom preferences();       refreshAplication();    }    @覆盖    公共布尔onOptionsItemSelected(菜单项项){      开关(item.getItemId()){        案例(MENU_ preFERENCES):{            意图I =新意图(这一点,preferences.class);            startActivityForResult(I,SHOW_ preFERENCES);            返回true;        }       }       返回false;    }    @覆盖    公共无效的onActivityResult(INT申请code,INT结果code,意图数据){      super.onActivityResult(要求code,结果code,数据);      如果(要求code == SHOW_ preFERENCES)      如果(结果code == Activity.RESULT_OK){        updateFrom preferences();        refreshAplication();      }    }    公共类preferences扩展$ P $ {pferenceActivity    @覆盖    公共无效的onCreate(捆绑savedInstanceState){      super.onCreate(savedInstanceState);      加preferencesFromResource(R.xml.user preferences);      }    }

解决方案

呼叫 refreshAplication(); 在 onResume()。

It updates front activity when I edit or just click ok on any input in preferences screen and than i must first hide front activity. It gives me zero on button and in preferences xml i gave right key and also defaultValue.

So .. scenario: i go to preferences screen, click to edit button text, just click ok, go back, its "0" on button, hide front activity, go back to front activity and theres is the right value.

I hope i included all necessary parts.

private SharedPreferences prefs; private String mobileNumber; private static final int MENU_PREFERENCES = Menu.FIRST; private static final int SHOW_PREFERENCES = 1; private void updateFromPreferences() { mobileNumber = prefs.getString("mobileNumber", "0"); } private void refreshAplication(){ button.setText(mobileNumber); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); prefs = PreferenceManager.getDefaultSharedPreferences(this); updateFromPreferences(); refreshAplication(); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case (MENU_PREFERENCES): { Intent i = new Intent(this, Preferences.class); startActivityForResult(i, SHOW_PREFERENCES); return true; } } return false; } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == SHOW_PREFERENCES) if (resultCode == Activity.RESULT_OK) { updateFromPreferences(); refreshAplication(); } } public class Preferences extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.userpreferences); } }

解决方案

Call refreshAplication(); in onResume().

更多推荐

将不会从preferences更新

本文发布于:2023-11-22 23:34:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1619347.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:preferences

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!