的東西,我認爲是如此簡單,我很驚訝有愈演愈烈這樣一個奇怪的錯誤...讀取XML字符串從Java
在我的節目,我有與它5個按鈕的佈局。當您按下按鈕時,它會啓動電話的撥號程序,並在其中預先加載號碼。我之前沒有遇到過這個問題,但之後我嘗試將電話號碼移動到XML文件中的字符串中,該文件放在名爲「phone.xml」的/ res/values文件夾中。下面是爲Java文件我的代碼部分:
public void launchDialer(String number){
String numberToDial = "tel:"+number;
startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(numberToDial)));
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.police_button1:
launchDialer(Integer.toString(R.string.police1_phone));
break;
case R.id.police_button2:
launchDialer("" + R.string.police2_phone);
break;
case R.id.police_button3:
launchDialer("" + R.string.police3_phone);
break;
case R.id.police_button4:
launchDialer("" + R.string.police4_phone);
break;
case R.id.police_button5:
launchDialer("" + R.string.police5_phone);
break;
}
}
這是我的phone.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="police1_phone">"555-555-5555"</string>
<string name="police2_phone">1-800-555-5555</string>
<string name="police3_phone">555-555-5555</string>
<string name="police4_phone">555-555-5555</string>
<string name="police5_phone">555-555-5555</string>
</resources>
正如你可以在Java文件中看到,我嘗試一些不同的police1_phone和police2_phone ,但他們都沒有工作。您也可以看到我嘗試在xml文件中將電話號碼中的1個引號引起來,但它仍然無效。我的輸出一直是一些隨機的7位數字,甚至與我希望打印的電話號碼差不多。此Java代碼工作:
launchDialer("555-555-5555");
但是,我需要它從一個XML文件中讀取。有任何想法嗎?
「他們兩個都不工作」並沒有給我們太多的信息。發生了什麼?你有例外嗎?執行時「R.string.police2_phone」的價值是什麼?基本上這裏有一堆缺少的診斷信息...... – 2011-08-17 12:45:38
正如我所提到的,我在撥號程序中給了我一個隨機的7位數字號碼。它給我的電話號碼是'213-096-8576',與實際電話號碼相差很遠,即'978-937-xxxx'。不管我如何描述上述的Java/XML文件,他們都給我隨機的7位數字。 – Mxyk 2011-08-17 12:49:02