私はスピナーを持っており、何もせずにユーザーがスピナーを終了したときに何かを表示/非表示したい。例えば、ユーザがスピナの外側の領域に接触したときである。 p.s.コンテナレイアウト(私の場合はLinearLayout)のonTouchEventも呼び出されません。ユーザーが項目getViewメソッド関数が呼び出されていないを選択せずに終了しますので、性別は(スピナーオブジェクトそのものである)ときユーザーがスピナーを終了したときに呼び出されるイベント
public SpinnerHintAdapter(Activity context, int resourceId, int textViewId, List<SpinnerItem> list, Spinner parent){
super(context,resourceId,textViewId, list);
flater = context.getLayoutInflater();
this.items = list;
this.gender = parent;
}
@Override
public int getCount() {
return items.size();
}
@Nullable
@Override
public SpinnerItem getItem(int position) {
return items.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
SpinnerItem spinnerItem = getItem(position);
View rowView = flater.inflate(R.layout.gender_item ,null,true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.main_text);
txtTitle.setText(spinnerItem.getName());
txtTitle.setTextColor(txtTitle.getResources().getColor(R.color.color_white));
Log.i(Tags.byEmail, "VVVVVVVVVVVVv");;
gender.setVisibility(View.VISIBLE);
return rowView;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
firstTime = false;
SpinnerItem rowItem = getItem(position);
View rowView = flater.inflate(R.layout.gender_drop_down_item ,null,true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.drop_down_text);
txtTitle.setText(rowItem.getName());
if(!isEnabled(position)){
txtTitle.setBackground(txtTitle.getResources().getDrawable(R.drawable.normal_rounded_text_field));
txtTitle.setTextColor(Color.parseColor("#777777"));
}
parent.setBackground(parent.getResources().getDrawable(R.drawable.normal_rounded_text_field));
txtTitle.setEnabled(isEnabled(position));
gender.setVisibility(View.INVISIBLE);
Log.i(Tags.byEmail, "DDDDDDDDDDDDDDDDDD");
return rowView;
}
@Override
public boolean isEnabled(int position) {
if(position == 0)
return false;
return super.isEnabled(position);
}
}
ではありません。ここで は、カスタムspineerのための私の実装です可視。 OnItemSelectedを試してみましたが、OnNothingSelectedも呼び出されませんでした。 イベントOnTouchイベントは呼び出されません。
次のイベントが場合ユーザー出口呼ばれない: 1- 2- OnFocusChanged 3- OnNothingSelected OnItemSlected。 OnTouch
'AdapterView.OnItemSelectedListener.onNothingSelected'? – Selvin
提供されたコードが役立ちます。 – W4R10CK
これを助けるかもしれないhttp://stackoverflow.com/a/1714426/3790150 – saeed