gpt4 book ai didi

android - 如何测试 Android ActionBar 子菜单?

转载 作者:行者123 更新时间:2023-11-28 20:56:02 25 4
gpt4 key购买 nike

有谁知道如何使用 android 测试框架测试 actionbar 子菜单项?我正在使用 ActionBarSherlock。单击第一个菜单项以获取下拉菜单时我没有问题,如下所示:

    final View deleteView = (View) activity.findViewById(R.id.action_discard_trans);
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
deleteView.requestFocus();
}
});
TouchUtils.clickView(TransListFragTest.this, deleteView);

但是当我尝试在下拉菜单显示后获取子菜单项时,我得到一个空 View 。

final View deleteMultiple = (View) activity.findViewById(R.id.am_delete_occurrences);
assertNotNull(deleteMultiple);

这是我的菜单xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:com.paycheckplan="http://schemas.android.com/apk/res-auto" >

<item
android:id="@+id/action_discard_trans"
android:icon="@drawable/content_discard"
android:showAsAction="always"
android:title="@string/discard_trans">
<menu>
<item
android:id="@+id/am_delete_one"
android:title="@string/action_mode_delete_one"/>
<item
android:id="@+id/am_delete_occurrences"
android:title="@string/action_mode_delete_occurrences"/>
</menu>
</item>

最佳答案

我发现使用 solo.getView(R.id.am_delete_occurrences)activity.findViewById(R.id.am_delete_occurrences) 可靠得多。单独版本有效而​​ Activity 引用无效的常见情况是,当您进行配置更改或您试图在 Activity 中的 fragment 中查找 View 时。

关于android - 如何测试 Android ActionBar 子菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18935609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com