Cannot resolve method getActivity()
-
我是Android的新手,并通过此方法学习在Android中创建片段
示例:片段导航抽屉
-
在菜单项之间导航和添加导航标题之间的代码由方法getActivity()组成。
-
由于作者没有提到粘贴此代码的位置,因此我将其粘贴到MainActivity.java文件中
-
我是否在菜单项之间导航和添加导航标题之间的代码粘贴到了正确的位置?
-
在方法selectDrawerItem(MenuItem menuItem)中,有一个注释// Create a new fragment and specify the planet to show based on position
作者是否希望我在这里添加一些内容。
-
我在AndroidStudio上创建的项目文件布局如下:AndroidStudio快照
您可以使用:
1
| this Or `MainActivity.this` |
代替:
活动没有getActivity()方法。
有碎片。
因为getActivity()说:"返回包含我的活动"。
虽然活动中包含"框架",但活动本身不是。
-
是的,我对其进行了分析,然后对代码进行了更改,现在收到NullPointerException错误。我是否以正确的方式做事。我是android的新手,这是尝试android的第一个示例。
-
您能发布一些相关的代码,而不是对其进行描述吗?即:主要活动onCreate()方法?
-
@Override protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //设置工具栏以替换ActionBar。工具栏=(工具栏)findViewById(R.id.toolbar); setSupportActionBar(toolbar); NavigationView nvDrawer =(NavigationView)findViewById(R.id.nvView); //设置抽屉视图setupDrawerContent(nvDrawer); //找到我们的抽屉视图
-
//设置菜单图标,而不是启动器图标。最后的ActionBar ab = getSupportActionBar(); ab.setHomeAsUpIndicator(R.drawable.ic_menu); ab.setDisplayHomeAsUpEnabled(true);工具栏=(工具栏)findViewById(R.id.toolbar); setSupportActionBar(toolbar); //找到我们的抽屉视图dlDrawer =(DrawerLayout)findViewById(R.id.drawer_layout); cabinetToggle = setupDrawerToggle(); //将DrawerLayout事件绑定到ActionBarToggle dlDrawer.setDrawerListener(drawerToggle); }
-
抱歉,注释不允许粘贴代码。您必须将其粘贴在记事本上才能阅读。
-
我做了笨蛋吗?对不起! @弗兰克·斯坦
-
嗯,是。 Fragment的onCreateView也将很有用。
-
那么,您在哪里初始化Fragment?
-
让我建议您遵循以下示例:developer.android.com/intl/es/training/implementing-navigation/。还有一些可下载的代码。
在Fragment中,最好使用onAttach()方法获取与其关联的Activity的实例。
1 2 3 4
| @Override
public void onAttach(Activity activity) {
super.onAttach(activity);
} |