社区
Android
帖子详情
跪求大神告知NavigationView在fragment为什么报空指针错误?
hzb596123052
2017-09-29 07:01:40
本来之前吧这个顶部导航栏放在Activity_Main里面是没什么问题的,但是现在想把顶部导航栏放在Fragment里面,就报错了。
...全文
174
1
打赏
收藏
跪求大神告知NavigationView在fragment为什么报空指针错误?
本来之前吧这个顶部导航栏放在Activity_Main里面是没什么问题的,但是现在想把顶部导航栏放在Fragment里面,就报错了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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; } }
ViewPager+
Fragment
基本使用
ViewPager+
Fragment
基本使用,设计出更加灵活的界面风格
Fragment
底部导航
Fragment
实现导航,详见http://blog.csdn.net/walker02/article/details/11881621
Android 使用
Fragment
,ViewPagerIndicator程序文件
资源为博客的例子,详细讲解参考:http://blog.csdn.net/lmj623565791/article/details/23513993 有问题博客中留言
Fragment
+
Fragment
TabHost实现仿新浪微博底部菜单栏效果(源码)
Fragment
+
Fragment
TabHost实现仿新浪微博底部菜单栏效果(源码)
Android
Fragment
应用实战Demo,向ActivityGroup说再见 源码程序
此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/13171191 如对资源内容有疑问,请到博客里留言。
Android
80,361
社区成员
91,291
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章