我的服务器json数据如下: - []
public class Main2Activity extends Activity {
final Context context = this;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
}
}
在这里我可以获取所有的国家名称。但是Rank不会出现在text-view上。问题出在哪里?谁能告诉我?????????
答案 0 :(得分:0)
您使用了错误的密钥'name'
txt1.setText("Rank- "+jsonObject.getString("name"));
使用此行
txt1.setText("Rank- "+jsonObject.getString("Rank"));
您必须创建侦听器以获取旋转器的项目选定事件。
参考this link并检查setOnItemClickListener()
如果您遇到一些困难,请添加评论。
答案 1 :(得分:0)
尝试替换此代码:
txt1.setText("Rank- "+jsonObject.getString("name"));
使用此代码:
txt1.setText("Rank- "+jsonObject.getString("Rank"));
Note : you have given wrong key reference to get Rank value
答案 2 :(得分:0)
首先添加到您的列表中解析数据
nameList.add(jsonObject.getString("Rank"));
您使用了错误的密钥'名称'
txt1.setText("Rank- "+jsonObject.getString("name"));
使用Spinner的这一行onItemSelectedListener
。
txt1.setText("Rank- "+nameList.get(position).get("Rank"));
在此处更改:
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
nameList.add(jsonObject.getString("name"));
nameList.add(jsonObject.getString("Rank"));
}
答案 3 :(得分:0)
试试这个:
int cnt= jsonarr.length();
String country_name;
String country_rank;
for(int i=0;i<cnt;i++){
country_name= jsonarr.getJSONObject(i).getString("name");
country_rank= jsonarr.getJSONObject(i).getString("Rank");
}
tv.setText(country_rank.toString());
希望这可以帮到你!