How To Set Click Listener In Spinner
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class MainActivity extends AppCompatActivity {
private Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = findViewById(R.id.spinner);
// Create an ArrayAdapter using a string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.spinner_items, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
// Set the item selection listener
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// Handle the item selection event here
String selectedItem = parent.getItemAtPosition(position).toString();
// Open the corresponding activity based on the selected item
if (selectedItem.equals("Activity 1")) {
Intent intent = new Intent(MainActivity.this, Activity1.class);
startActivity(intent);
} else if (selectedItem.equals("Activity 2")) {
Intent intent = new Intent(MainActivity.this, Activity2.class);
startActivity(intent);
}
// Add more conditions for other activities if needed
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// Do nothing
}
});
}
}
How Preselect The Spinner Items
ArrayList arrayListSprayType = new ArrayList<>();
arrayListSprayType.add("Select Plant Type");
arrayListSprayType.add("Plant");
arrayListSprayType.add("Ratoon");
ArrayAdapter adapterSprayType = new ArrayAdapter<>(context, R.layout.list_item, arrayListSprayType);
plot_type.setAdapter(adapterSprayType);
// Preselect "Plant" in the spinner
int preselectedPosition = 1; // Index of "Plant" in the arrayListSprayType
plot_type.setSelection(preselectedPosition);
plot_type.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
// Rest of your code...
});
How Preselect Between The Big List
ArrayList arrayListSprayType = new ArrayList<>();
arrayListSprayType.add("Select Plant Type");
arrayListSprayType.add("Plant");
arrayListSprayType.add("Ratoon");
String CANE_TYPE = "Plant";
int preselectedPosition = -1;
// Find the position based on the matching value
for (int i = 0; i < arrayListSprayType.size(); i++) {
if (arrayListSprayType.get(i).equals(CANE_TYPE)) {
preselectedPosition = i;
break;
}
}
// Set the preselected position if found
if (preselectedPosition != -1) {
ArrayAdapter adapterSprayType = new ArrayAdapter<>(context, R.layout.list_item, arrayListSprayType);
plot_type.setAdapter(adapterSprayType);
plot_type.setSelection(preselectedPosition);
}
plot_type.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
// Rest of your code...
});
Spinner data set in Api
class GETDISEASE extends AsyncTask {
String Content = null;
private ProgressDialog dialog = new ProgressDialog(context);
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
dialog = ProgressDialog.show(context, "Please wait", "Please wait while we getting details", true);
dialog.show();
}
@Override
protected String doInBackground(String... params) {
try {
String url = APIUrl.BASE_URL_CANE_DEVELOPMENT + "/GETDISEASE";
HttpClient httpClient = new DefaultHttpClient();
List entity = new LinkedList();
entity.add(new BasicNameValuePair("DIVN", userDetailsModels.get(0).getDivision()));// 22001 // 2
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader(HTTP.CONTENT_TYPE, "application/x-www-form-urlencoded");
httpPost.setEntity(new UrlEncodedFormEntity(entity, "utf-8"));
ResponseHandler responseHandler = new BasicResponseHandler();
Content = httpClient.execute(httpPost, responseHandler);
System.out.println("sdfsdsd : " + Content);
} catch (Exception e) {
if (dialog.isShowing())
dialog.dismiss();
}
return null;
}
@Override
protected void onPostExecute(String sResponse) {
try {
if(getpoctypeModelList.size()>0)
getpoctypeModelList.clear();
if (dialog.isShowing())
dialog.dismiss();
JSONObject jsonObject = new JSONObject(Content);
if (jsonObject.getString("STATUS").equalsIgnoreCase("OK")) {
JSONArray jsonArray = jsonObject.getJSONArray("DATA");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
GETPOCTYPEModel model=new GETPOCTYPEModel();
model.setCode(object.getString("Code"));
model.setName(object.getString("Name"));
getpoctypeModelList.add(model);
}
ArrayList getPocType = new ArrayList();
getPocType.add("All Plots");
for (int i = 0; i < getpoctypeModelList.size(); i++) {
getPocType.add(getpoctypeModelList.get(i).getCode() + " - " + getpoctypeModelList.get(i).getName());
}
ArrayAdapter diseffectedTypeList = new ArrayAdapter(context, R.layout.list_item, getPocType);
spinner_items.setAdapter(diseffectedTypeList);
spinner_items.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView parent, View view, int position, long id) {
if (position == 0) {
plotTypeSelection = ""; // Change this to "0" for "All Plots"
} else {
// Subtract 1 from the position to map it to the correct index in getpoctypeModelList
int modelIndex = position - 1;
if (modelIndex >= 0 && modelIndex < getpoctypeModelList.size()) {
plotTypeSelection = getpoctypeModelList.get(modelIndex).getCode();
}
}
}
@Override
public void onNothingSelected(AdapterView parent) {
}
});
}
} catch (JSONException e) {
try {
// new AlertDialogManager().AlertPopUpFinish(context,new JSONObject(Content).getString("MSG"));
} catch (Exception e1) {
e1.getMessage();
}
} catch(Exception e){
}
}
}