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

标签 android testing spinner

我有一个测试,我在 Spinner 上测试 OnItemSelectedListener。它在测试 > 0 的项目时效果很好。但似乎我无法测试第一个项目。

如果我选择索引 > 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, 0, id);

        }
    });

我需要做什么才能让测试“选择”第一项?

提前致谢

罗兰

回答: 1) Rahul garg 关于设置“动画”是解决问题的关键。 2) 但是你不能触发 onSelectionChanged 除非选择实际上改变了(0 是初始状态所以我需要在将它设置回零之前将它设置为 1。

最佳答案

使用

spinner.setSelection(0,true);

第二个参数实际上会将选择动画化到 0 索引。

关于android - 如何在测试中选择微调器的第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9553496/

相关文章:

testing - 使用 dbunit 和 jetty 进行集成测试 - dbunit 不填充表

android - 微调器的文本大小

Android 的微调器在文本太长时自动滚动

database - Android SQLite 数据库语言环境、锁定和版本

android - 如何在 Android 项目中使用谷歌翻译 api v3 将 googleapis/java-translate 库转换为自定义 api 休息请求

android - android中的多语言键盘选择问题

Android LatinIME 词典

testing - 在生产系统中测试账户和产品

.net - 是否有用于 .NET 的 headless 浏览器(用于自动 Web-UI-测试)?

java - 第二个旋转器取决于第一个旋转器 (Xamarin VS)