我遇到了一个java.lang.IllegalArgumentException: 未知颜色。

huangapple 未分类评论44阅读模式
英文:

I am getting a java.lang.IllegalArgumentException: Unknown color

问题

我从 Firebase 数据库中获取背景颜色时遇到了 java.lang.IllegalArgumentException: Unknown color 错误。我正在使用以下版本:

  • 安卓版本:Lollipop 5.1 API 22
  • Firebase 数据库的背景颜色,所有值为 "#000000"

homepageadapter.java

private void startBannerSlideShow(final List<SliderModel> sliderModelList){
    final Handler handler = new Handler();
    final Runnable update = new Runnable() {
        @Override
        public void run() {
            if (CurrentPage >= sliderModelList.size()){
                CurrentPage = 1;
            }
          
            bannerSliderViewPager.setCurrentItem(CurrentPage++, true); //this is the line 217
        }
    };

    timer = new Timer();
    timer.schedule(new TimerTask() {
        @Override
        public void run() {
            handler.post(update);
        }
    }, DELAY_TIME, PERIOD_TIME);
}

slideradapter.java

@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
    View view = LayoutInflater.from(container.getContext()).inflate(R.layout.slider_layout, container, false);
    ConstraintLayout bannerContainer = view.findViewById(R.id.banner_container);
    bannerContainer.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor(sliderModelList.get(position).getBackgroundColor()))); //this is the line 42

    ImageView banner = view.findViewById(R.id.banner_slide);
    Glide.with(container.getContext()).load(sliderModelList.get(position).getBanner()).apply(new RequestOptions().placeholder(R.drawable.placeholder)).into(banner);
    container.addView(view, 0);
    return view;
}

logcat

04-06 10:51:44.907 20358-20358/com.xyz E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.xyz, PID: 20358
    java.lang.IllegalArgumentException: Unknown color
    42. at com.xyz.SliderAdapter.instantiateItem(SliderAdapter.java:42)
    217. at com.xyz.HomePageAdapter$BannerSliderViewholder$3.run(HomePageAdapter.java:217)
英文:

I am I am getting a java.lang.IllegalArgumentException: Unknown color when getting background color from firebase db. I am using

  • lollipop 5.1 API 22
  • Firebase db background color
    all values ("#000000")

homepageadapter.java

private void startBannerSlideShow(final List&lt;SliderModel&gt;sliderModelList){
        final Handler handler = new Handler();
        final Runnable update = new Runnable() {
            @Override
            public void run() {
                if (CurrentPage &gt;= sliderModelList.size()){
                    CurrentPage = 1;
                }
              
                bannerSliderViewPager.setCurrentItem(CurrentPage++,true); //this is the line 217
            }
        };

        timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                handler.post(update);
            }
        },DELAY_TIME,PERIOD_TIME);
    }

slideradapter.java

@NonNull
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
    View view = LayoutInflater.from(container.getContext()).inflate(R.layout.slider_layout,container,false);
    ConstraintLayout bannerContainer = view.findViewById(R.id.banner_container);
 bannerContainer.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor(sliderModelList.get(position).getBackgroundColor()))); //this is the line 42


    ImageView banner = view.findViewById(R.id.banner_slide);
    Glide.with(container.getContext()).load(sliderModelList.get(position).getBanner()).apply(new RequestOptions().placeholder(R.drawable.placeholder)).into(banner);
    container.addView(view,0);
    return view;
}

logcat

04-06 10:51:44.907 20358-20358/com.xyz E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.xyz, PID: 20358
    java.lang.IllegalArgumentException: Unknown color
    42. at com.xyz.SliderAdapter.instantiateItem(SliderAdapter.java:42)
    217. at com.xyz.HomePageAdapter$BannerSliderViewholder$3.run(HomePageAdapter.java:217)

答案1

得分: 0

你正在使用错误的函数。示例用法:

bannerContainer.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor(sliderModelList.get(position).getBgColor())));
英文:

You are using wrong function. Example use;

bannerContainer.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor(sliderModelList.get(position).getBgColor())));

huangapple
  • 本文由 发表于 2020年4月6日 16:33:01
  • 转载请务必保留本文链接:https://java.coder-hub.com/61055810.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定