【发布时间】:2018-02-03 00:49:48
【问题描述】:
我遇到了麻烦,我正在尝试在 NavigationDrawer 中创建 SliderLayout。昨天它工作得尽可能好,但是今天我打开了 android studio,滑块停止工作,我没有更改代码,现在,它抛出了一个异常 NullPointerException,这就是它所说的:Attempt to invoke virtual method 'void com.daimajia.slider.library.SliderLayout.addSlider(com.daimajia.slider.library.SliderTypes.BaseSliderView)' on a null object reference;
这是我现在使用的代码:
public class News extends NavigationDrawer implements BaseSliderView.OnSliderClickListener, ViewPagerEx.OnPageChangeListener {
private HashMap<String,String> map;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startUp();
}
private void startUp(){
setContentView(R.layout.news_navigation_activity);
onCreateDrawer();
onSlideShowCreate();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.getMenu().getItem(0).setChecked(true);
}
private void onSlideShowCreate(){
map=new HashMap<String,String>();
SliderLayout slide = findViewById(R.id.slider);
map.put("Android CupCake", "http://androidblog.esy.es/images/cupcake-1.png");
map.put("Android Donut", "http://androidblog.esy.es/images/donut-2.png");
map.put("Android Eclair", "http://androidblog.esy.es/images/eclair-3.png");
map.put("Android Froyo", "http://androidblog.esy.es/images/froyo-4.png");
map.put("Android GingerBread", "http://androidblog.esy.es/images/gingerbread-5.png");
for(String name : map.keySet()){
TextSliderView textSliderView = new TextSliderView(News.this);
textSliderView
.description(name)
.image(map.get(name))
.setScaleType(BaseSliderView.ScaleType.Fit)
.setOnSliderClickListener(this);
textSliderView.bundle(new Bundle());
textSliderView.getBundle().putString("extra",name);
try {
slide.addSlider(textSliderView); <== Here is where the exception is throwed
} catch(NullPointerException e){
System.err.println(e.getLocalizedMessage());
}
}
}
所以,我不知道发生了什么,但我所知道的是@id/slider 来自“news_content_activity.xml”并且我调用“news_nav_activity.xml”(包含“news_content_activity.xml”布局在)。所以感谢您的关注和帮助。
更新 1:
就像异常所说的那样,我的变量slide 是null;但是现在我仍然没有解决方案
【问题讨论】:
-
你为什么要扩展
NavigationDrawer? -
因为通过从 NavigationDrawer.class 扩展来使用导航抽屉的唯一方法。
-
嘿@TazTazzianoTaz427 你能分享
news_navigation_activity的xml吗
标签: java android android-layout slider navigation-drawer