0
我对从XML文件检索值以及如何有效使用它没有明确的工作知识。 有人能帮我理解,该怎么做?从array.xml中检索值并在主要活动中检查它
这里我的文件,并在我的主要activity.what我需要做的,是 ,我会选择设置操作,然后我会检查的确切运营商的名称和将检索所需夫妇字符串从类名为CallManager的并会通过另一个代码分段进行调用。 我是做一个单一的运营商那里preString和内部数字大小是fixed.So这是没有问题。但我需要他们夫妇做,从preferences.please -taking名help.thanks-Piyal
<string-array name="operatormodes">
<item >Airtel</item>
<item >Banglalink</item>
<item >Grameen Phone</item>
<item >Robi</item>
<item >TeleTalk</item>
</string-array>
prefs = PreferenceManager.getDefaultSharedPreferences(this);
// Operator
prefs.edit().putString(PreferencesActivity.KEY_OPERATOR_MODE, CaptureActivity.DEFAULT_OPERATOR_MODE).commit();
// Retrieve from preferences, and set in this Activity, the Operator mode
String[] operatorModes = getResources().getStringArray(R.array.operatormodes);
String operatorModeName = prefs.getString(PreferencesActivity.KEY_OPERATOR_MODE, operatorModes[0]);
Log.w("im changed", "Airtel");
if (operatorModeName.equals(operatorModes[0]))
{
callManager.setOperatorName("Airtel");
callManager.setOperatorBasedInternalDigit("Airtel");
callManager.setOperatorBasedInternalPreString("Airtel");
callManager.setPreString(callManager.internalPreString);
}
else if (operatorModeName.equals(operatorModes[1]))
{
callManager.setOperatorName("Banglalink");
callManager.setOperatorBasedInternalDigit("Banglalink");
callManager.setOperatorBasedInternalPreString("Banglalink");
callManager.setPreString(callManager.internalPreString);
}
else if (operatorModeName.equals(operatorModes[2]))
{
callManager.setOperatorName("Grameen Phone");
callManager.setOperatorBasedInternalDigit("Grameen Phone");
callManager.setOperatorBasedInternalPreString("Grameen Phone");
callManager.setPreString(callManager.internalPreString);
}
else if (operatorModeName.equals(operatorModes[3]))
{
callManager.setOperatorName("Robi");
callManager.setOperatorBasedInternalDigit("Robi");
callManager.setOperatorBasedInternalPreString("Robi");
callManager.setPreString(callManager.internalPreString);
}
else if (operatorModeName.equals(operatorModes[4]))
{
callManager.setOperatorName("TeleTalk");
callManager.setOperatorBasedInternalDigit("TeleTalk");
callManager.setOperatorBasedInternalPreString("TeleTalk");
callManager.setPreString(callManager.internalPreString);
}
prefs.registerOnSharedPreferenceChangeListener(listener);
但是,我必须固定运营商名称发送到CallManager的,那么它会给出一个finalString变量的值。 – Piyal