从一个活动的Fragment里用Intent获取这个活动并跳转到MainImgActivity,运行后点击按钮跳转报空指针,MainImgActivity单独运行没有问题,请教一下怎么解决。错误:java.lang.RuntimeException: Unable to start activity ComponentInfo{io.github.ryanhoo.music/io.github.ryanhoo.music.ui.settings.MainImgActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.jude.rollviewpager.RollPagerView.setPlayDelay(int)' on a null object reference部分代码:
(点击按钮跳转事件Fragment):
eq.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(getActivity(), MainImgActivity.class);
startActivity(intent);
}
});
(MainImgActivity):
public class MainImgActivity extends Activity { private RollPagerView mRollViewPager; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); mRollViewPager = findViewById(R.id.roll_view_pager); //设置播放时间间隔
mRollViewPager.setPlayDelay(1000);
//设置透明度
mRollViewPager.setAnimationDurtion(500);
//设置适配器
mRollViewPager.setAdapter(new TestNormalAdapter()); //设置指示器(顺序依次)
//自定义指示器图片
//设置圆点指示器颜色
//设置文字指示器
//隐藏指示器
mRollViewPager.setHintView(new IconHintView(this, R.drawable.point_focus, R.drawable.point_normal));
mRollViewPager.setHintView(new ColorPointHintView(this, Color.YELLOW, Color.WHITE));
mRollViewPager.setHintView(new TextHintView(this));
mRollViewPager.setHintView(null);
} private class TestNormalAdapter extends StaticPagerAdapter {
private int[] imgs = {
R.drawable.img1,
R.drawable.img2,
R.drawable.img3,
R.drawable.img4,
};
@Override
public View getView(ViewGroup container, int position) {
ImageView view = new ImageView(container.getContext());
view.setImageResource(imgs[position]);
view.setScaleType(ImageView.ScaleType.CENTER_CROP);
view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
return view;
}
@Override
public int getCount() {
return imgs.length;
}
} @Override
public boolean onCreateOptionsMenu(Menu menu) { return true;
} @Override
public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item);
}
}小弟水平很差,初学者,MainImgActivity也是别人分享的,还请高人多多指教,急求。
(点击按钮跳转事件Fragment):
eq.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(getActivity(), MainImgActivity.class);
startActivity(intent);
}
});
(MainImgActivity):
public class MainImgActivity extends Activity { private RollPagerView mRollViewPager; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); mRollViewPager = findViewById(R.id.roll_view_pager); //设置播放时间间隔
mRollViewPager.setPlayDelay(1000);
//设置透明度
mRollViewPager.setAnimationDurtion(500);
//设置适配器
mRollViewPager.setAdapter(new TestNormalAdapter()); //设置指示器(顺序依次)
//自定义指示器图片
//设置圆点指示器颜色
//设置文字指示器
//隐藏指示器
mRollViewPager.setHintView(new IconHintView(this, R.drawable.point_focus, R.drawable.point_normal));
mRollViewPager.setHintView(new ColorPointHintView(this, Color.YELLOW, Color.WHITE));
mRollViewPager.setHintView(new TextHintView(this));
mRollViewPager.setHintView(null);
} private class TestNormalAdapter extends StaticPagerAdapter {
private int[] imgs = {
R.drawable.img1,
R.drawable.img2,
R.drawable.img3,
R.drawable.img4,
};
@Override
public View getView(ViewGroup container, int position) {
ImageView view = new ImageView(container.getContext());
view.setImageResource(imgs[position]);
view.setScaleType(ImageView.ScaleType.CENTER_CROP);
view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
return view;
}
@Override
public int getCount() {
return imgs.length;
}
} @Override
public boolean onCreateOptionsMenu(Menu menu) { return true;
} @Override
public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item);
}
}小弟水平很差,初学者,MainImgActivity也是别人分享的,还请高人多多指教,急求。
mRollViewPager = findViewById(R.id.roll_view_pager);没转类型啊mRollViewPager =(RollPagerView) findViewById(R.id.roll_view_pager);
首先检查R.id.roll_view_pager这个控件是不是在 如果在的话 把类型转换的代码加上
mRollViewPager = (RollPagerView)findViewById(R.id.roll_view_pager);
mRollViewPager = findViewById(R.id.roll_view_pager); //设置播放时间间隔
mRollViewPager.setPlayDelay(1000);
//设置透明度
mRollViewPager.setAnimationDurtion(500);
//设置适配器
mRollViewPager.setAdapter(new TestNormalAdapter()); //设置指示器(顺序依次)
//自定义指示器图片
//设置圆点指示器颜色
//设置文字指示器
//隐藏指示器
mRollViewPager.setHintView(new IconHintView(this, R.drawable.point_focus, R.drawable.point_normal));
mRollViewPager.setHintView(new ColorPointHintView(this, Color.YELLOW, Color.WHITE));
mRollViewPager.setHintView(new TextHintView(this));
mRollViewPager.setHintView(null);
貌似还是一样....我把全部错贴出来吧...adb -d shell sh /data/data/me.piebridge.brevent/brevent.sh
Error:The SDK Build Tools revision (24.0.1) is too low for project ':autoScrollViewPager'. Minimum required is 25.0.0
<a href="install.build.tools">Install Build Tools 25.0.0, update version in build file and sync project</a><br><a href="openFile:E:/androiod/AutoScrollViewPager-master/autoScrollViewPager/build.gradle">Open File</a>Error:(7) No resource identifier found for attribute 'autoScrollEnable' in package 'io.github.ryanhoo.music' //MediaPlayer播放结束监听事件 mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { play(); } });
<?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"
tools:context=".MainActivity">
<com.jude.rollviewpager.RollPagerView
android:id="@+id/roll_view_pager"
android:layout_width="match_parent"
android:layout_height="180dp"
app:rollviewpager_play_delay="3000"/>
</RelativeLayout> 03-01 05:53:13.321 7260-7260/io.github.ryanhoo.music E/AndroidRuntime: FATAL EXCEPTION: main
Process: io.github.ryanhoo.music, PID: 7260
java.lang.RuntimeException: Unable to start activity ComponentInfo{io.github.ryanhoo.music/io.github.ryanhoo.music.ui.settings.MainImgActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.jude.rollviewpager.RollPagerView.setPlayDelay(int)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
java.lang.RuntimeException: Unable to start activity ComponentInfo{io.github.ryanhoo.music/io.github.ryanhoo.music.ui.settings.MainImgActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.jude.rollviewpager.RollPagerView.setPlayDelay(int)' on a null object reference 9953-9953/io.github.ryanhoo.music E/AndroidRuntime: FATAL EXCEPTION: main
Process: io.github.ryanhoo.music, PID: 9953
java.lang.RuntimeException: Unable to start activity ComponentInfo{io.github.ryanhoo.music/io.github.ryanhoo.music.ui.settings.MainImgActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.jude.rollviewpager.RollPagerView.setPlayDelay(int)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.jude.rollviewpager.RollPagerView.setPlayDelay(int)' on a null object reference
at io.github.ryanhoo.music.ui.settings.MainImgActivity.onCreate(MainImgActivity.java:36)
at android.app.Activity.performCreate(Activity.java:5937)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
emmmm,上一个回复拷多了....
9953-9953/io.github.ryanhoo.music E/AndroidRuntime: FATAL EXCEPTION: main
Process: io.github.ryanhoo.music, PID: 9953
java.lang.RuntimeException: Unable to start activity ComponentInfo{io.github.ryanhoo.music/io.github.ryanhoo.music.ui.settings.MainImgActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.jude.rollviewpager.RollPagerView.setPlayDelay(int)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.jude.rollviewpager.RollPagerView.setPlayDelay(int)' on a null object reference
at io.github.ryanhoo.music.ui.settings.MainImgActivity.onCreate(MainImgActivity.java:36)
at android.app.Activity.performCreate(Activity.java:5937)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
http://blog.csdn.net/double2hao/article/details/51328824
<a href="install.build.tools">Install Build Tools 25.0.0, update version in build file and sync project</a><br><a href="openFile:E:/androiod/AutoScrollViewPager-master/autoScrollViewPager/build.gradle">Open File</a>
导了,build.gradle
活动单独做个项目没问题。就是放在另一个项目上跳转就报空指针,活动也注册了........
at io.github.ryanhoo.music.ui.settings.MainImgActivity.onCreate(MainImgActivity.java:36)activity36行报错,你看看这是什么代码
36 . mRollViewPager.setPlayDelay(1000);
36 . mRollViewPager.setPlayDelay(1000);是不是三方库导入错误,或者有的依赖没有添加,哟恩有可能是库导入多了,最新的版本把你的正确版本库覆盖了,我之前写广告的时候有个类似的情况
36 . mRollViewPager.setPlayDelay(1000);是不是三方库导入错误,或者有的依赖没有添加,哟恩有可能是库导入多了,最新的版本把你的正确版本库覆盖了,我之前写广告的时候有个类似的情况照着别人的在build.graadle里导的,活动单独做一个项目可以运行,把这活动放在另一个项目就不行了.....包导了,活动注册了,这个活动又不需要上个活动传值......
http://download.csdn.net/detail/double2hao/9511532
完全按这里来弄的,单独做一个项目是没问题的,把这活动及相应布局文件弄到另一个项目不就行......mRollViewPager有的啊...
36 . mRollViewPager.setPlayDelay(1000);是不是三方库导入错误,或者有的依赖没有添加,哟恩有可能是库导入多了,最新的版本把你的正确版本库覆盖了,我之前写广告的时候有个类似的情况照着别人的在build.graadle里导的,活动单独做一个项目可以运行,把这活动放在另一个项目就不行了.....包导了,活动注册了,这个活动又不需要上个活动传值......
是不需要,我写广告的那个也不需要,但是就是因为库的原因,一个变量获取为0,崩溃了,找了好几个小时才找到是库的原因,有时候demo看多了,库就乱了
36 . mRollViewPager.setPlayDelay(1000);是不是三方库导入错误,或者有的依赖没有添加,哟恩有可能是库导入多了,最新的版本把你的正确版本库覆盖了,我之前写广告的时候有个类似的情况照着别人的在build.graadle里导的,活动单独做一个项目可以运行,把这活动放在另一个项目就不行了.....包导了,活动注册了,这个活动又不需要上个活动传值......
是不需要,我写广告的那个也不需要,但是就是因为库的原因,一个变量获取为0,崩溃了,找了好几个小时才找到是库的原因,有时候demo看多了,库就乱了
是有这可能,好吧- -,现在换另一个项目做了,做来学习的,谢谢您的回答
http://download.csdn.net/detail/double2hao/9511532
完全按这里来弄的,单独做一个项目是没问题的,把这活动及相应布局文件弄到另一个项目不就行......mRollViewPager有的啊...
抱歉,我看不了你发的那个连接,而且我觉得问题应该不会严重到需要去看那个连接。
你有没有打印下日志看看到底有没有mRollViewPager。
因为异常就是这里抛出的。而且,我看你findview的时候,根本没有强转类型,代码里面没有给你报错么?
http://download.csdn.net/detail/double2hao/9511532
完全按这里来弄的,单独做一个项目是没问题的,把这活动及相应布局文件弄到另一个项目不就行......mRollViewPager有的啊...
抱歉,我看不了你发的那个连接,而且我觉得问题应该不会严重到需要去看那个连接。
你有没有打印下日志看看到底有没有mRollViewPager。
因为异常就是这里抛出的。而且,我看你findview的时候,根本没有强转类型,代码里面没有给你报错么?重点是查看下那这个view的id,看看是不是还有其他的view里面有组件和这个mRollViewPager的id一样
http://download.csdn.net/detail/double2hao/9511532
完全按这里来弄的,单独做一个项目是没问题的,把这活动及相应布局文件弄到另一个项目不就行......mRollViewPager有的啊...
抱歉,我看不了你发的那个连接,而且我觉得问题应该不会严重到需要去看那个连接。
你有没有打印下日志看看到底有没有mRollViewPager。
因为异常就是这里抛出的。而且,我看你findview的时候,根本没有强转类型,代码里面没有给你报错么?重点是查看下那这个view的id,看看是不是还有其他的view里面有组件和这个mRollViewPager的id一样http://blog.csdn.net/double2hao/article/details/51328824 发错了....
不知道怎么看id呢........
http://download.csdn.net/detail/double2hao/9511532
完全按这里来弄的,单独做一个项目是没问题的,把这活动及相应布局文件弄到另一个项目不就行......mRollViewPager有的啊...
抱歉,我看不了你发的那个连接,而且我觉得问题应该不会严重到需要去看那个连接。
你有没有打印下日志看看到底有没有mRollViewPager。
因为异常就是这里抛出的。而且,我看你findview的时候,根本没有强转类型,代码里面没有给你报错么?重点是查看下那这个view的id,看看是不是还有其他的view里面有组件和这个mRollViewPager的id一样http://blog.csdn.net/double2hao/article/details/51328824 发错了....
不知道怎么看id呢........
你把MainActivity的布局文件贴出来看看。或者你自己找找,mRollViewPager的id是不是包含在activity_main.xml中。
id怎么看?findviewById,你用的那个就是它的id。
你顺便Log.i("MainActivity","mRollViewPager = "+mRollViewPager);
把代码写在findviewbyid的下面,看看打印出来的mRollViewPager是不是null的。
完全按这里来弄的,单独做一个项目是没问题的,把这活动及相应布局文件弄到另一个项目不就行......mRollViewPager有的啊...
抱歉,我看不了你发的那个连接,而且我觉得问题应该不会严重到需要去看那个连接。
你有没有打印下日志看看到底有没有mRollViewPager。
因为异常就是这里抛出的。而且,我看你findview的时候,根本没有强转类型,代码里面没有给你报错么?重点是查看下那这个view的id,看看是不是还有其他的view里面有组件和这个mRollViewPager的id一样http://blog.csdn.net/double2hao/article/details/51328824 发错了....
不知道怎么看id呢........
你把MainActivity的布局文件贴出来看看。或者你自己找找,mRollViewPager的id是不是包含在activity_main.xml中。
id怎么看?findviewById,你用的那个就是它的id。
你顺便Log.i("MainActivity","mRollViewPager = "+mRollViewPager);
把代码写在findviewbyid的下面,看看打印出来的mRollViewPager是不是null的。谢谢各位的回答,因为这个项目有些功能没实现我换别的做了,别的跳转也有问题但没报空指针,从头一步步弄就弄出来了,各位提供的方法我之后再去测试,不行也没事,毕竟找到别的项目了。再次感谢各位!第一次在这里发帖就有那么多热心人回答。
我写的沉浸式状态栏,最开始是好用的,后来突然失效了,状态栏变成黑灰色,还挡住了一半toolbar的标题栏,我是用SystemBarTintManager写的,找了好久也找不到原因
灰色是编译期间没用到,java是支持动态加载的,所以有些代码很可能运行的时候会用到,没有看代码的问题,单指这句灰色就是不需要...