Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用onResume/onStop作为首选项(设置)_Java_Android_Menu_Preferences - Fatal编程技术网

Java 使用onResume/onStop作为首选项(设置)

Java 使用onResume/onStop作为首选项(设置),java,android,menu,preferences,Java,Android,Menu,Preferences,几天前开始使用安卓系统,我有点不知所措。 我得到了一个主要的活动与重量,宽度值。这些值可以是英寸磅或厘米千克 如何更改这些值?通过设置,我创建了一个带有ListPreference的简单菜单。 在选择这两个度量值之一时,我需要使用新值更新我的MainActivity。为什么?我得到了以下信息 文本视图:文本编辑 重量(公斤) [\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 宽度(厘米)

几天前开始使用安卓系统,我有点不知所措。 我得到了一个主要的活动与重量,宽度值。这些值可以是英寸磅或厘米千克

如何更改这些值?通过设置,我创建了一个带有ListPreference的简单菜单。 在选择这两个度量值之一时,我需要使用新值更新我的MainActivity。为什么?我得到了以下信息

文本视图:文本编辑

重量(公斤)

[\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

宽度(厘米)

[\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

在设置菜单中选择后,我希望括号之间的文本可以进行手动更改

这是我代码的一部分:

MainActivity从prefs.xml获取首选项

这是带有菜单的prefs.xml


我甚至尝试过使用commit(),但也无法让它工作

在尝试使用onResume()之后,我得到的结果是“很好”,除了每次我从设置中更改它时,它都会给我添加一个(度量值),例如:

重量(公斤)(磅)(公斤)(磅)等等

有谁能帮助我在这种情况下如何使用onResume方法吗


提前感谢。

在列表首选项中将android:entryValues更改为android:entryValues=“@array/measuresValues”

您的条目数组应该如下所示

<string-array name="measures">
    <item>Inches-Pounds</item>
    <item>Cm-Kilograms</item>
</string-array>   

在列表首选项中,将android:entryValues更改为android:entryValues=“@array/measuresValues”

您的条目数组应该如下所示

<string-array name="measures">
    <item>Inches-Pounds</item>
    <item>Cm-Kilograms</item>
</string-array>   

是的,但是,如何更新值?我试着做了
code
if(“英寸磅”.equals(measurewight.getText()+“(磅)”;measureHeight.setText(measureHeight.getText()+“(英寸)”;}else{measurewight.setText(measurewight.getText()+(千克)”;measureHeight.setText(measureHeight.getText()+)”(Cm);}
code
但是值不会更新:(是的,你是对的!谢谢伙计…我需要做“动态”变量独立,tho。将它们与体重和身高文本分开。顺便说一句,你知道动态更改语言的好教程吗?谢谢你的帮助,伙计:D现在要睡觉了,凌晨3:25在这里哈哈哈是的,但是,如何更新值?我试着做了
code
if(“英寸-磅”。等于(度量)){measureWeight.setText(measureWeight.getText()+“(磅)”);measureHeight.setText(measureHeight.getText()+“(英寸)”;}else{measureWeight.setText(measureWeight.getText()+“(千克)”;measureHeight.setText(measureHeight.getText()+“(厘米)”;}
code
但值不会更新:(是的,你是对的!谢谢伙计…我需要使“动态”变量独立,tho。将它们与体重和身高文本分开。顺便说一句,你知道动态更改语言的好教程吗?谢谢你的帮助伙计:D现在要睡觉了,凌晨3:25在这里哈哈哈
<string-array name="measures">
    <item>Inches-Pounds</item>
    <item>Cm-Kilograms</item>
</string-array>   
<string-array name="measuresValues">
    <item>"Inches-Pounds"</item>
    <item>"Cm-Kilograms"</item>
</string-array>  
SharedPreferences mysettings = PreferenceManager.getDefaultSharedPreferences(this);
String st1 = mysettings.getString("MEASURE_KEY", "default Value here");

if(st1.equals("Inches-Pounds")){ 
    //do some stuff here
    //like textview.setText.....
}
if(st1.equals("Cm-Kilograms")){ 
    //do some stuff here
}