英文:
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<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
@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())));
专注分享java语言的经验与见解,让所有开发者获益!
评论