我正在从json url中检索值,然后将其存储在字符串变量中。现在我想在微调器中显示该值。我在strings.xml文件中创建了一个数组列表。 xml文件包含以下代码:
<string name="credit_card_title">Card Type</string>
<string-array name="credit_card">
<item >Select</item>
<item >Visa</item>
<item >MC</item>
<item >Amex</item>
<item >Discover</item>
我的微调代码是:
<Spinner
android:id="@+id/crdtcrd_crdtype"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/credit_card"
android:prompt="@string/credit_card_title" />
从json url中重新获取值后,我将其存储在变量名String cardtype
现在我如何在微调器cardtype
中显示crtdcrd_crdtype
的值....
json url是:
http://mygogolfteetime.com/iphone/login/ramu@gmail.com/123456
从这个URL我必须检索cardtype
的值,并在检索值后,我必须在微调器中显示它..
cardype
有visa, mc, amex and discover
的不同值
所有这些值都在我的strings.xml
文件中,并且在检索值之后我必须在Spinner中显示它。
需要帮助仍然无法找到解决方案..
我正在尝试使用以下代码显示cardtype
的值:
crdtcrd_crdtype.setSelection(cardtype);
但它显示了一些错误.. 1.更改为setSelected(..) 2.将cardtype的类型更改为int
提前致谢...
答案 0 :(得分:-1)
请在下面找到示例代码:
布局文件:main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Spinner
android:id="@+id/cmbNames"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
layout:spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
代码:MainActivity.java
public class MainActivity extends Activity {
private static final String NAME = "name";
//{"name":["abc","pqr","xyz"]}
private String jsonNames = "{\"" + NAME + "\":"
+ "[\"abc\",\"pqr\",\"xyz\"]}";
private SimpleAdapter adapter;
private Spinner cmbNames;
private List<HashMap<String, String>> lstNames;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
populateSpinner(jsonNames);
cmbNames = (Spinner) findViewById(R.id.cmbNames);
adapter = new SimpleAdapter(this, lstNames, R.layout.spinner_item,
new String[] { NAME }, new int[] { R.id.tvName });
cmbNames.setAdapter(adapter);
}
private void populateSpinner(String jsonString) {
lstNames = new ArrayList<HashMap<String, String>>();
try {
JSONObject jsonObj = new JSONObject(jsonNames);
JSONArray jArray = jsonObj.getJSONArray(NAME);
for (int i = 0; i < jArray.length(); i++) {
addNewName(jArray.getString(i));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
private void addNewName(String name) {
HashMap<String, String> map = new HashMap<String, String>();
map.put(NAME, name);
lstNames.add(map);
}
}