java - 访问自定义 NavigationDrawer 内的项目

标签 java android listview android-fragments navigation-drawer

我是一名 Android 初学者。我正在使用 Android Studio,并使用 NavigationDrawer 创建我的 Activity 。 所以我有一个 ListView,但我想向我的抽屉添加一些其他东西。 我创建了一个自定义布局并在 NavigationDrawerFragment.java 中:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    RelativeLayout insideDrawer = (RelativeLayout) inflater.inflate(
            R.layout.fragment_fragment_inside_drawer, container, false);


    return insideDrawer;
}

而且它有效。 我在抽屉里有一个 ListView 和一个按钮。 我尝试使用 getActivity.findViewById(R.id.mylistview) 访问 ListView ,但它不起作用。

那么我怎样才能访问抽屉里的元素呢? 谢谢!

最佳答案

您正在从 Activity 中搜索 View ,但由于您正在查找的 View 位于 fragment 内(我们知道这里有一个 fragment ,因为 onCreateView),因此您必须从在该方法中膨胀的 View 中进行搜索.

在onCreateView中返回 View 后,可以使用fragment的getView()方法,然后调用.findViewById()。

或者,如果您需要在 onCreateView 返回 View 之前搜索 View ,则在膨胀 View 之后,只需调用 insideDrawer.findViewById() ——因为 insideDrawer 是您在该方法中膨胀的relativeLayout。

关于java - 访问自定义 NavigationDrawer 内的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21962495/

相关文章:

android youtube 应用程序列表淡出边缘

java - 我应该在哪里跟踪我的 Java EE Web 应用程序版本

java - 分割字符串时为空

java - SetDataAndType 方法

android - 如何从基于 Unity 的应用程序获取数据到第三方 Android 应用程序?

来自多对多数据库关系的 Android ListView

java - 启用具有 JWT 安全性的 Spring Boot 2.0 Actuator 端点

android - 从线程将bmp图像保存到SD卡

java - 改造Gson自定义json通用转换器

android - 是否有必要将图像存储在内存中以在android中的 ListView 上显示