android - NavigationDrawer - 是否可以以编程方式模拟(执行)点击

标签 android

我在我的应用程序中使用 NavigationDrawer,我想知道我是否有可能像按钮一样在某些抽屉导航列表项上执行单击?

    slideMenuItems = new ArrayList<NavDrawerModel>();

    slideMenuItems.add(new NavDrawerModel("People"));
    slideMenuItems.add(new NavDrawerModel("Products"));

slideMenuAdapter = new NavDrawerAdapter(getApplicationContext(), R.layout.drawer_list_item, slideMenuItems);
    drawerList.setAdapter(slideMenuAdapter);

    drawerList.setOnItemClickListener(new SlideMenuClickListener());


private class SlideMenuClickListener implements ListView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        // Do some stuff here

    }

最佳答案

调用performItemClickListView

public boolean performItemClick (View view, int position, long id)

Added in API level 1

Call the OnItemClickListener, if it is defined. Performs all normal actions associated with clicking: reporting accessibility event, playing a sound, etc.

Parameters

view    The view within the AdapterView that was clicked.
position    The position of the view in the adapter.
id  The row id of the item that was clicked.

Returns
True if there was an assigned OnItemClickListener that was called, false otherwise is returned.

使用方法:

int position = 5;
listView.performItemClick( 
   yourAdapter.getView(position, null, null),
   position,
   yourAdapter.getItemId(position)
);

如果您使用自定义适配器,请记住正确覆盖 getItemId!

关于android - NavigationDrawer - 是否可以以编程方式模拟(执行)点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24267155/

相关文章:

java - Observable vs Flowable rxJava2

Android Studio - 预期表达式

android - Azure DevOps (vsts) 自托管代理上的 ADB RSA key 指纹更改

Android:即使在停用 GPS 位置提供程序后,电池统计信息也会显示使用情况

android - 我们能否链接多个 API 调用或跟踪一次进行的多个调用?

java - "java.exe"退出代码 2 Xamarin.Android 项目

Android 可穿戴设备 - 如何自动安装可穿戴应用程序

android - 如何在折叠 Action 栏android中减少工具栏标题的左侧和底部空间?

android - 第一次如何设置值

android - R.java自动删除: Android