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