1

有谁知道如何使用 android 测试框架测试操作栏子菜单项?我正在使用 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);

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

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>

4

1 回答 1

0

我发现 usingsolo.getView(R.id.am_delete_occurrences)activity.findViewById(R.id.am_delete_occurrences). 当您进行配置更改或您试图在活动中的片段中查找视图时,单独版本可以正常工作而活动引用不工作的常见情况。

于 2013-11-09T17:57:18.170 回答