跪求大神告知NavigationView在fragment为什么报空指针错误?

hzb596123052 2017-09-29 07:01:40

本来之前吧这个顶部导航栏放在Activity_Main里面是没什么问题的,但是现在想把顶部导航栏放在Fragment里面,就报错了。

...全文
157 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzb596123052 2017-09-29
  • 打赏
  • 举报
回复
package lbstest.example.com.uilayouttest.fragment; import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.net.Uri; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.NavigationView; import android.support.design.widget.Snackbar; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.StaggeredGridLayoutManager; import android.support.v7.widget.Toolbar; import android.view.Gravity; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast; import com.hjm.bottomtabbar.BottomTabBar; import com.jude.rollviewpager.RollPagerView; import com.jude.rollviewpager.adapter.StaticPagerAdapter; import com.jude.rollviewpager.hintview.ColorPointHintView; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Random; import lbstest.example.com.uilayouttest.R; import static android.R.attr.fragment; import static android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; /** * A simple {@link Fragment} subclass. */ public class OneFragment extends Fragment { private View view; private DrawerLayout mDrawerLayout; public OneFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { setHasOptionsMenu(true); View view=inflater.inflate(R.layout.fragment_one,container,false); FloatingActionButton fab=(FloatingActionButton) view.findViewById(R.id.fab);//fragment里面寻找ID Toolbar toolbar=(Toolbar)view.findViewById(R.id.toolbar); ((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);//将toolbar的实例传入 mDrawerLayout=(DrawerLayout)view.findViewById(R.id.drawer_layout);//得到实例 NavigationView navView=(NavigationView)view.findViewById(R.id.nav_view); ActionBar actionBar=((AppCompatActivity)getActivity()).getSupportActionBar();//得到实例 if(actionBar!=null){ actionBar.setDisplayHomeAsUpEnabled(true);//让导航按钮显示出来 actionBar.setHomeAsUpIndicator(R.drawable.ic_menu);//设置导航图标 } navView.setCheckedItem(R.id.nav_call); navView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(MenuItem item) { mDrawerLayout.closeDrawers(); return true; } }); fab.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view){ // Toast.makeText(getActivity(),"FAB clicked",Toast.LENGTH_SHORT).show(); Snackbar.make(view,"Data delected",Snackbar.LENGTH_SHORT) .setAction("Undo",new View.OnClickListener(){ @Override public void onClick(View v){ Toast.makeText(getActivity(),"Data restored",Toast.LENGTH_SHORT).show();; } }) .show(); } }); return view; } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){ inflater.inflate(R.menu.toolbar,menu);//加载XML文件 super.onCreateOptionsMenu(menu,inflater); }; @Override public boolean onOptionsItemSelected(MenuItem item){ switch (item.getItemId()){ case android.R.id.home: mDrawerLayout.openDrawer(GravityCompat.START);//显示菜单 break; case R.id.delete: Toast.makeText(getActivity(),"You clicked Delete",Toast.LENGTH_SHORT).show(); break; case R.id.settings: Toast.makeText(getActivity(),"You clicked Setting",Toast.LENGTH_SHORT).show(); break; default: } return true; } }

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧