我开始创建我的第一个Android应用程序。
我已经阅读了很多关于这个主题的文章和帖子,但它们已经很老了,我在那里找不到任何帮助,因为我认为它现在有些不同了。
所有内容似乎都与我所遵循的教程一样,但当我点击抽屉时,应用程序退出。
有我的content_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="be.boisdelacambre.ecole.ecolebdc.MainActivity"
tools:showIn="@layout/app_bar_main">
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>
我创建了一个名为AccueilFragment的新空白片段(已选中所有框)。我在fragment_accueil.xml中添加了一些文本标签。
当我点击第一个抽屉时,它会崩溃:
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_accueil) {
AccueilFragment accueilFragment = new AccueilFragment();
FragmentManager manager = getSupportFragmentManager();
manager.beginTransaction().replace(R.id.frame_container, accueilFragment, "Accueil").commit();
...(文件默认继续)
有人能告诉我为什么会出错吗?
谢谢!
答案 0 :(得分:0)
好的,我找到了答案:
我在创建片段时点击了2个框。
我有这些功能:
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
}
}
我换了:
@Override
public void onAttach(Context context) {
super.onAttach(context);
}
它现在有效。谢谢大家!