android - 将文本视图插入到 Linearlayout 时出现 IndexOutOfBound 异常
问题描述
我正在创建日历视图。并想添加多天的事件,比如谷歌日历应用程序,所以在这个我每天都添加事件。我想在位置 2 的线性布局中添加一个文本视图。在位置 0 和 1 没有添加任何视图,这是我的插入视图的代码。
`
TextView tv = new TextView(context);
tv.setBackgroundResource(R.drawable.event_view);
int height
=context.getResources().getDimensionPixelSize(R.dimen.event_image_size);
LinearLayout.LayoutParams params = new
LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,height);
int previousViewPosition = AppConstants.eventList.get(i-1).getEvent_count();
AppConstants.eventList.get(i).setEvent_count(previousViewPosition);
tv.setPadding(0, 0, 0, 0);
tv.setText(AppConstants.eventList.get(i).getStrName());
params.setMargins(0, 0, 0, 1);
tv.setLayoutParams(params);
tv.setTextSize(8);
tv.setTextColor(context.getResources().getColor(R.color.white));
ll_event_image.addView(tv, previousViewPosition);
`
它给了我错误 IndexOutOfBound。
05-02 11:57:17.162 8922-8922/com.calender.demo.calendar_api W/System.err: java.lang.IndexOutOfBoundsException: index=2 count=1 05-02 11:57:17.187 8922-8922/com .calender.demo.calendar_api W/System.err: 在 android.view.ViewGroup.addInArray(ViewGroup.java:4542) 在 android.view.ViewGroup.addViewInner(ViewGroup.java:4463) 在 android.view.ViewGroup.addView (ViewGroup.java:4218) 05-02 11:57:17.188 8922-8922/com.calender.demo.calendar_api W/System.err: 在 com.desai.vatsal.mydynamiccalendar.DateListAdapter$DateViewHolder.setDates(DateListAdapter.java :278) 在 com.desai.vatsal.mydynamiccalendar.DateListAdapter.onBindViewHolder(DateListAdapter.java:575) 在 android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6673) 在 android.support.v7。 widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6714) 在 android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5913) 在 android.support. .v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5752)
解决方案
更改 addView 行
if(previousViewPosition >= ll_event_image.getChildCount())
ll_event_image.addView(tv);
else
ll_event_image.addView(tv, previousViewPosition);
推荐阅读
- python - 计算彩票号码的最佳方法?
- tensorflow - 如何在一个图像中检测多个类,其中没有对象是一个选项
- c++ - 我使用的逻辑有什么问题?
- php - 如何使用选择选项在 fullcalendar philippfrenzel 中创建具有特定日期的事件
- delphi - Delphi - 使用带有属性设置器的函数
- firebase - 使用存储在数据中的数据库安全规则中的字段
- c++ - 最小交换次数 2 - 对向量进行升序排序所需的最小交换次数
- ejabberd - 如何将我的自定义身份验证脚本连接到 ejabberd?
- string - 从函数内调用python 3中的函数
- python - Django/Python - 上传自定义脚本 - 如何运行它们?