GithubHelp home page GithubHelp logo

donkingliang / custombanner Goto Github PK

View Code? Open in Web Editor NEW
102.0 102.0 30.0 1.4 MB

Android轮播图控件,支持任何View的轮播,而不仅仅是图片(ImageView),完全自定义的轮播指示器和轮播图样式,使用非常简单。

Java 100.00%

custombanner's Introduction

欢迎来访我的主页

访问量统计

个人简介



Android Kotlin Vue HTML5 Flutter

  • 📍 广州(Guangzhou)
  • 👩‍💻 8 years of work.
  • wx : liangrenyan5201314
  • 📧 [email protected]

About My Github


custombanner's People

Contributors

donkingliang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

custombanner's Issues

IllegalStateException錯誤

java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 3, found: 5 Pager id: ffffffff Pager class: class android.support.v4.view.ViewPager Problematic adapter: class com.donkingliang.banner.BannerPagerAdapter
我的自定义布局中包含了一个利用view.postDelayed写的倒计时,在长时间后滑动就出現了這個問題。目前还没确定是我布局倒计时导致的Bug,还是自身该控件的bug

如何取消轮播布局的点击和拖动事件?

viewFlipper.setEnabled(false); viewFlipper.setOnPageChangeListener(null); viewFlipper.setOnPageClickListener(null);
已经如上设置了,但是点击和拖动布局依然会让滚动停下来,请问这个要怎么取消呢?

java.lang.IllegalStateException

java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 6, found: 4 Pager id: ffffffff Pager class: class android.support.v4.view.ViewPager Problematic adapter: class com.donkingliang.banner.BannerPagerAdapter
at android.support.v4.view.ViewPager.populate(ViewPager.java:1143)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:669)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:631)
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:623)
at com.donkingliang.banner.CustomBanner$2.onPageScrollStateChanged(CustomBanner.java:173)
at android.support.v4.view.ViewPager.dispatchOnScrollStateChanged(ViewPager.java:1964)
at android.support.v4.view.ViewPager.setScrollState(ViewPager.java:497)
at android.support.v4.view.ViewPager$3.run(ViewPager.java:272)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1154)
at android.view.Choreographer.doCallbacks(Choreographer.java:977)
at android.view.Choreographer.doFrame(Choreographer.java:885)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1139)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

banner的点击事件和其中view的点击事件是不是无效了?

代码如下,其中view的点击事件不能被识别
` binding.banner.setPages(new CustomBanner.ViewCreator<HomeBean.RobotListBean>() {
@OverRide
public View createView(Context context, int i) {
View view = LayoutInflater.from(context).inflate(R.layout.item_manager_home_vp, null);
return view;
}

        @Override
        public void updateUI(Context context, View view, int i, HomeBean.RobotListBean robotListBean) {
            RelativeLayout rlrobot = view.findViewById(R.id.rl_robot);
            rlrobot.setOnClickListener(v -> {
                Intent intent = new Intent(getActivity(), RobotManageActivity.class);
                intent.putExtra("storeId", HttpRequstUtil.storeInfo.getStoreId());
                intent.putExtra("storeName", HttpRequstUtil.storeInfo.getStoreName());
                intent.putExtra("storeImage", HttpRequstUtil.storeInfo.getImageUrl());
                getActivity().startActivity(intent);
            });
            ((TextView) view.findViewById(R.id.tv_robot_name)).setText(robotListBean.getNickname());
            ImageView imageView = ((ImageView) view.findViewById(R.id.iv_vp_header));
            Glide.with(getActivity()).load(robotListBean.getAvatarUrl()).into(imageView);
            ((TextView) view.findViewById(R.id.tv_battery_floor)).setText("所在楼层: " + robotListBean.getCurrentFloor() + "F 电量: " + (int) robotListBean.getPowerPercent() + "%");
            ((TextView) view.findViewById(R.id.tv_status)).setText(Constant.getRobotStatus2String(robotListBean.getTaskStatus()) + "");

        }
    }, robotListBeans);`

应该重启后显示

Unable to start activity ComponentInfo{com.iagedata.view/com.iagedata.Individual_LoginAfterActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.donkingliang.banner.CustomBanner com.donkingliang.banner.CustomBanner.setPages(com.donkingliang.banner.CustomBanner$ViewCreator, java.util.List)' on a null object reference

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.