How to set and get the id for the items in the spinner in Android
- by Haresh Chaudhary
I have a problem in my project that i am displaying a activity which would contain the details of the project which is previously added in Project Management System..
Now the fields in it are like:
Fields of the Activity
Name Of Project: ABC(EditText)
Name Of Developer : ________(Spinner)
Deadline : ________(Date Picker)
Created On : _______(TextView)
.
.
Now, the Spinner contains the Names of all developers working in the Company..I have used the ArrayAdapter with a array having the names of all the developers which is fetched from the database..
The problem is that when i update the Name Of Developer field, i get Only the Name of the Developer which is not enough to update the data as their can be multiple developers with the same name in the Company..So now I require the id of the developers to update it..
How to store that id of the developers with the Spinner so that i can achieve this..
Please help me to sort this out.
Actually what i want to do like is as that we do in html::
<select>
<option id="1">Developer1</option>
<option id="2">Developer2</option>
<option id="3">Developer2</option>
<option id="4">Developer2</option>
</select>
where the id attached would be the database id....I want to imitate this in our android....
This the code that i have used to store the names in the array::
String alldevelopers = null;
try {
ArrayList<NameValuePair> postP = new ArrayList<NameValuePair>();
alldevelopers = CustomHttpClient.executeHttpPost(
"/fetchdevelopers.php", postP);
String respcl = alldevelopers.toString();
alldevelopersParser dev = new alldevelopersParser();
ow = dev.parseByDOM(respcl);
} catch (Exception e) {
e.printStackTrace();
}
String developers[] = new String[ow.length]; //dev is a class object
for (int n = 0; n < ow.length; n++)
{
developers[n] = ow.developer[n][2];
}
This is the Spinner that would spin the array..
final Spinner devl = (Spinner) findViewById(R.id.towner);
devl.setOnItemSelectedListener(managetasks.this);
ArrayAdapter<String> b =
new ArrayAdapter<String>getApplicationContext(),
android.R.layout.simple_spinner_item,developers);
b.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
devl.setAdapter(b);