我有一个测试,我在Spinner上测试一个OnItemSelectedListener.当测试>的项目时它很有用.但似乎我无法测试第一项.
如果我选择索引为>的项目,那么我当前的实现是有效的0看起来像这样.
final Addpointer addPointer = getActivity(); addPointer.runOnUiThread(new Runnable() { @Override public void run() { EditText address = (EditText) addPointer.findViewById(R.id.address); address.setText("a"); Spinner spinner = (Spinner) addPointer.findViewById(R.id.intOrHex); spinner.setSelection(0); View view = (View) spinner.getChildAt(0); long id = spinner.getAdapter().getItemId(0); spinner.performItemClick(view,id); } });
我需要做什么才能让测试“选择”第一项?
提前致谢
罗兰
回答:
1)关于设置“动画”的Rahul garg是解决问题的关键.
2)但是你不能触发onSelectionChanged,除非选择实际改变了(0是初始状态所以我需要在将其设置回零之前将其设置为1).
解决方法
使用
spinner.setSelection(0,true);
第二个参数实际上将选择动画为0索引.