我是Robolectric的新手并且遇到了障碍.我有一些自定义事件,在spinner中选择一个项目时触发,我想用robolectric测试它.我看到ShadowSpinner类提供了诸如stateSpinner.clickFirstItemContainingText之类的辅助函数来单击特定项.我用适当的值填充我的微调器,我测试打印出每个项目
for (int i = 0; i < spinner_items.length; ++i) {
spinner_items[i] = (String) spinner.getAdapter().getItem(i);
}
System.out.println("Spinner Items "
+ Arrays.asList(spinner_items).toString());
Run Code Online (Sandbox Code Playgroud)
但是当我使用clickFirstItemContainingText和其中一个popoulated值时,我得到一个IllegalArgumentException.没有找到包含上述代码奇怪的测试的项目表明特定值确实存在.
任何帮助将不胜感激
可能的副本如何使Spinner的"禁用"状态看起来被禁用?.
我尝试了帖子中提到的解决方案,即
((Spinner) spinner).getSelectedView().setEnabled(false);
spinner.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)
但是getSelectedView()返回null.我也尝试手动选择一个项目而不是调用getSelectedView但它仍然返回null.
是否可以将相对路径写入某个路径(比如 /home/krg85/stackoverflow)作为我的 bash 提示。即如果我在文件夹 /home/krg85/stackoverflow/abc/cde 中,我的提示应该是user@host abc/cde$. 我也很想扩展它,这样如果我在路径 /home/krg85/github 上,我的提示将user@host /home/krg85/github$不是user@host ../github$.