JavaScript:
if (response == null || response.length() < 10) {
progress.dismiss();
return;
}
String resp = response;
JSONArray clients = null;
try {
clients = new JSONArray(resp);
if (clients == null || resp.length() < 10)
return;
JSONObject client_obj;
SpinnerItem client = null;
ArrayList<SpinnerItem> clients_LIST=new ArrayList<SpinnerItem>();
//add dummy record
client = new SpinnerItem("0","");
for (int i = 0; i < clients.length(); i++) {
client_obj = (JSONObject) clients.get(i);
client = new SpinnerItem(String.valueOf(client_obj.getInt("id")),client_obj.getString("client_name"));
clients_LIST.add(client);
}
//add to spinner
ArrayAdapter<SpinnerItem> dataAdapter = new ArrayAdapter<SpinnerItem>(clients_Map.this, android.R.layout.simple_spinner_item, clients_LIST);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
actionbar_spinner.setAdapter(dataAdapter);
} catch (JSONException e) {
General.mes(Clients_Map.this, e.getMessage());
} finally {
progress.dismiss();
}
.
.
.
.
//add to actionbar + create click event
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// setup on actiobar - http://stackoverflow.com/a/30639393/1320686
getMenuInflater().inflate(R.menu.clients_map, menu);
MenuItem item = menu.findItem(R.id.map_spinner);
actionbar_spinner = (Spinner) MenuItemCompat.getActionView(item);
get_clients();
actionbar_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
if (pos==0)
return;
SpinnerItem client= (SpinnerItem)parent.getItemAtPosition(pos);
Toast.makeText(Clients_Map.this, client.getTitle() + " with id " + client.getId(),Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
}); // (optional)
return true;
}
//R.menu.clients_map.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/map_spinner"
android:actionViewClass="android.widget.Spinner"
android:icon="@drawable/ic_launcher"
android:orderInCategory="1"
android:showAsAction="always"
android:title="pipiscrew"/>
</menu>