scrollBy не работает в пользовательском адаптере
У меня есть пользовательский ExpandableListView, его дочерний макет содержит HorizontalScrollView, который я заполняю программно в специальном адаптере getChildView(). Моя проблема в том, что функция scrollBy() не работает, когда я вызываю ее в getChildView()
` @Override
public View getChildView(final int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.custom_child, null);
}
final HorizontalScrollView scrollView = (HorizontalScrollView) convertView
.findViewById(R.id.horizontalScrollView1);
final ImageButton rightBt = (ImageButton) convertView
.findViewById(R.id.imageButton2);
final ImageButton leftBt = (ImageButton) convertView
.findViewById(R.id.imageButton1);
rightBt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
scrollView.smoothScrollBy(ballD + ballM + 3, 0);
}
});
leftBt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
scrollView.smoothScrollBy(-(ballD + ballM + 3), 0);
}
});
fillScrollView();
scrollView.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
scrollView.scrollBy(ballD + ballM+3, 0);
}
});
return convertView;
}
`
Прокрутка работает только в случае щелчка правой и левой кнопками, но снаружи не действует. Я не могу понять причину.