android – 如何在测试中选择微调器的第一项

我有一个测试,我在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索引.

相关文章

ADB Remote ATV Android TV 的遥控器,基于 ADB Shell 命令 ...
使用Flutter自带的SearchDelegate组件实现搜索界面,通过魔改...
上篇文章讲解了怎么使用Kotlin的协程配合Retrofit发起网络请...
安卓开发——WebView+Recyclerview文章详情页,解决高度...
Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...