慕田峪4524236
2023-05-10 17:46:23
我的應(yīng)用程序中有一個(gè)微調(diào)器,它顯示了幾個(gè)距離單位,它們是從中提取的strings.xml(看起來像這樣):<string-array name="distance_units_array"> <item>miles</item> <item>kilometers</item> <item>meters</item> <item>yards</item> </string-array>如果我需要對用戶輸入的距離進(jìn)行一些計(jì)算,但是執(zhí)行的計(jì)算會(huì)因距離單位而異。我可以使用以下方法來做到這一點(diǎn),但這是一個(gè)可怕的 hack 解決方案,使用多種語言會(huì)變得非常痛苦。if (distanceUnit = “kilometres” || distanceUnit = “kilómetros” || etc){ //Do stuff}if (distanceUnit = “miles” || distanceUnit = “millas” || etc){ //Do other stuff}關(guān)于更好實(shí)施的任何建議?我覺得每個(gè)人都distanceUnit需要一個(gè) ID,這樣我就可以與其進(jìn)行比較而不是翻譯它,但我不確定當(dāng)字符串存儲(chǔ)在strings.xml.
1 回答

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
您應(yīng)該開始比較他們的 ID,而不是他們的內(nèi)容。
yourSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
switch(position) {
case 0 : //calculate miles
case 1 : //calculate kilometres
.....
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
添加回答
舉報(bào)
0/150
提交
取消