Remove selected item of spinner A from spinners B,C and D in ListView [closed]


Remove selected item of spinner A from spinners B,C and D in ListView [closed]



I am looking for a way to hide one item in an Android spinner widget. I simply want to remove the selected item of spinner A from Spinner B,C and D, when if i select item from any spinner in listView like i select item from Spinner C it will remove selected item from Spinner A,B and D. Here is my adapter:


public class SortByAdapter extends BaseAdapter implements AdapterView.OnItemSelectedListener {
private ArrayList<sortByModel> sortByModelArrayList;
private Context context;
private ArrayList<String> spinnerList = new ArrayList<>();
public static ArrayList<sortByModel> backUpSortList = new ArrayList();
removeDataFromSpinner removeDataFromSpinner;



/* this is my interface to remove list item in main class from */
public interface removeDataFromSpinner{
public void remove(int pos);
}

public SortByAdapter(ArrayList<sortByModel> sortByModelArrayList, Context context,removeDataFromSpinner dataFromSpinner) {
this.sortByModelArrayList = sortByModelArrayList;
this.context = context;
backUpSortList = sortByModelArrayList;
removeDataFromSpinner = dataFromSpinner;
}

@Override
public int getCount() {
return backUpSortList.size();
}

@Override
public Object getItem(int position) {
return backUpSortList.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
Spinner sortFilter;
Switch isAscDes;
TextView FilterNameText;
if (view == null) {
view = LayoutInflater.from(context).inflate(R.layout.sort_adapter_layout, null);
}
sortFilter = view.findViewById(R.id.SortByFilter);
isAscDes = view.findViewById(R.id.SwitchAscDec);
FilterNameText = view.findViewById(R.id.FilterNameText);

sortByModel model = backUpSortList.get(position);
FilterNameText.setText(model.getStoreList().get(position).getName());
spinnerList.clear();
for (int i = 0; i < backUpSortList.size(); i++) {
spinnerList.add(model.getStoreList().get(i).getName());
}
SpinnerAdapter(spinnerList, sortFilter, 0);

return view;
}

public void SpinnerAdapter(ArrayList<?> arrayList, Spinner spinner, int selectPos) {
if (arrayList != null) {
try {
ArrayAdapter<?> adapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, arrayList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setSelection(selectPos);
spinner.setOnItemSelectedListener(this);
} catch (NullPointerException e) {
Log.d(Crashlytics.TAG, "SpinnerAdapter: " + e.getMessage());
}
}
}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
int ID = parent.getId();
switch (ID) {
case R.id.SortByFilter:
removeDataFromSpinner.remove(position);
break;
}
}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
}



Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.




Popular posts from this blog

PHP contact form sending but not receiving emails

PHP parse/syntax errors; and how to solve them?

iOS Top Alignment constraint based on screen (superview) height