我有这样的 JSON 数据:
[{"id":"1",
"client_name":"Glasco Smith Klin",
"campaign_name":"Health Medicine Survay",
"question":"MODE OF COMPLAINT CAN BE GIVEN THROUGH __________________",
"option_A":"WRITTEN",
"option_B":"ORAL",
"option_C":"PHONE CALL",
"option_D":"ALL OF THE ABOVE",
"q_prefix":"GSKHMSQ"},
{"id":"2",
"client_name":"Glasco Smith Klin",
"campaign_name":"Health Medicine Survay",
"question":"ADDING NEW FIR CAN BE DONE FROM WHICH ROLE",
"option_A":"IO",
"option_B":"TRAFFIC",
"option_C":"SHO-CRIME",
"option_D":"ADMINISTRATOR",
"q_prefix":"GSKHMJD"}]
我想将所有q_prefix
列检索到微调器中。但是在我的微调器中没有显示数据。当我运行我的应用程序时,我收到一个错误:“无法启动活动”并且Java.lang.NullPointerException
在这一行:jsonArray = jSon.getJSONArray(TAG_CODE);
.
这是我的代码:
public class SpinDemo extends Activity {
private static String strUrl = "http://192.168.1.61/jyoti/android_app/all_questions.php";
private static String TAG_ID = "id";
private static String TAG_CODE = "q_prefix";
JSONArray jsonArray = null;
Spinner codeSpinner, spinner2;
@SuppressWarnings("unused")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
codeSpinner = (Spinner) findViewById(R.id.spinner2);
ArrayList<String> codeList = new ArrayList<String>();
// creating instance of JSONPrser
JSONParser jParser = new JSONParser();
// getting JSON string from URL
JSONObject jSon = jParser.getJSONFromUrl(strUrl);
System.out.println("Hello ********************");
try {
// Getting Array of Code
jsonArray = jSon.getJSONArray(TAG_CODE);
final String[] items = new String[jsonArray.length()];
// looping through All Contacts
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject c = jsonArray.getJSONObject(i);
// Storing each json item in variable
String strCode = c.getString(TAG_CODE);
items[i] = c.getString(TAG_CODE);
System.out.println("Hello events " + items);
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
codeSpinner.setAdapter(adapter);
} catch (JSONException je) {
je.printStackTrace();
}
}
}