我在TableRow中执行LayoutInflator。 (FYI)
在此我做了以下几点:
((SeekBar)tr1.findViewById(R.id.seekBarMe)).setOnSeekBarChangeListener(this);
((SeekBar)tr1.findViewById(R.id.seekBarMe)).setTag(i);
((SeekBar)tr1.findViewById(R.id.seekBarMe)).setProgress(0);
这些工作正常,我的应用运行良好。但是,当我执行以下操作时,它似乎崩溃了。
((SeekBar)tr1.findViewById(R.id.seekBarMe)).incrementProgressBy(1);
((SeekBar)tr1.findViewById(R.id.seekBarMe)).setMax(10);
然后,
ArrayList<View> myViews = new ArrayList<View>();
myViews.add(tr1);
如果有人知道问题是什么,我真的很感谢你的帮助。 谢谢,
答案 0 :(得分:1)
事实证明,在向myViews ArrayList添加任何内容之前,会调用SeekBar onProgressChanged()。
因此,它会给出一个IndexOutOfBounds异常,因为你在onProgressChanged()中访问myViews。
现在你将处理onProgressChanged()代码,这样它就不会访问myViews,直到大小大于0。
:)