私のプログラムでは、カスタム アダプターでスピナーを使用します。アダプターは次のとおりです。
private class lenguageSpinnerAdapter extends BaseAdapter implements
SpinnerAdapter {
private ArrayList<String> lenguages;
public lenguageSpinnerAdapter(Context context,
ArrayList<String> lenguages) {
this.lenguages = lenguages;
}
public int getCount() {
return lenguages.size();
}
public Object getItem(int position) {
return lenguages.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
// This a new view we inflate the new layout
LayoutInflater inflater = (LayoutInflater) context
.getApplicationContext().getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.lenguage_item_layout,
parent, false);
}
TextView lenguage = (TextView) convertView
.findViewById(R.id.textViewLenguage);
lenguage.setText(lenguages.get(position).toString());
return convertView;
}
}
そして、アクティビティでこのアダプターを使用します。
ArrayList<String> spinnerArray = new ArrayList<String>();
spinnerArray.add("IT");
spinnerArray.add("EN");
spinnerArray.add("PR");
final lenguageSpinnerAdapter lenguageAdapter = new lenguageSpinnerAdapter(
getContext(), spinnerArray);
spinnerLenguage.setAdapter(lenguageAdapter);
問題は、このスピナーが常に 3 つの言語を表示することですが、選択されていない言語 (IT が選択されている場合は EN と PR、または EN が選択されている場合は IT と PR) のみを表示するようにしたいと思います。何か案は?