gpt4 book ai didi

android - 设置在 Android 上下文菜单中选择的项目

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

在我的 Activity 中,我有一个带有已注册 ContextMenu 的 GridView。现在我想测试这个 Activity,因此我在 GridView 的第一个子节点上调用 performLongClick() 并打开上下文菜单。现在我想按这个菜单中的第一个条目,可以这样做吗?

public class TestClass extends extends ActivityInstrumentationTestCase2<MainActivity> {
public void testMe() {
final GridView gv = getActivity().findViewById(R.id.some_id);
getActivity().runOnUiThread(new Runnable() {
public void run() {
gv.getChildAt(0).performLongClick();
}
});
getInstrumenttation().waitForIdleSync();

//Registered Context Menu opens

//????some method to get contextMenu and press first item
//getActivity().getContextMenu().performClick(0); <---
}
}

最佳答案

好的,我通过覆盖 MainActivity 中的“onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo info)”并将菜单设置为全局变量解决了我的问题。之后,我可以在我的测试类中检索 ContextMenu 并执行单击:

public void testDelete() {
performLongClick(gv.getChildAt(1));

final ContextMenu contextMenu = getActivity().getContextMenu();
assertTrue(contextMenu != null);

getActivity().runOnUiThread(new Runnable() {
public void run() {
contextMenu.performIdentifierAction(R.id.menuItemId, 0);
}
});
getInstrumentation().waitForIdleSync();
}

关于android - 设置在 Android 上下文菜单中选择的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13455174/

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