我在 preferences.xml :
中有以下项目 <ListPreference android:key="pref_movies_min_imdb"
android:title="@string/pref_movies_min_imdb"
android:summary="@string/pref_movies_min_imdb_summary"
android:entries="@array/pref_movies_min_imdb_array_entries"
android:entryValues="@array/pref_movies_min_imdb_array_values"
android:defaultValue="0"/>
array.xml :
<string-array name="pref_movies_min_imdb_array_entries">
<item>n/a</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
</string-array>
<string-array name="pref_movies_min_imdb_array_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
</string-array>
用户尚未在首选项中选择任何值。 但是在以下代码中* imdb_rating_min *被添加到 url :
String minIMDB = prefs.getString("pref_movies_min_imdb", "0");
if (minIMDB != "0"){
url += "&imdb_rating_min=" + minIMDB;
}
调试器显示minIMDB = 0,url =“&amp; imdb_rating_min = 0”
为什么会这样?
答案 0 :(得分:4)
使用!minIMDB.equals("0")
代替!=
:
if (!minIMDB.equals("0")){
url += "&imdb_rating_min=" + minIMDB;
}
==
和!=
比较记忆位置。 .equals
方法会比较Strings
的内容。