У меня есть вид списка, в котором у меня раздувается 3 разных типа, и один вид этого вида содержит горизонтальный вид прокрутки. В горизонтальном представлении прокрутки у меня есть линейная компоновка, в которой я раздуваю свой собственный xml. Все эти рабочие, но прокрутки списка родительских списков не являются гладкими. Когда я комментирую свой горизонтальный прокрутки, тогда список прокручивается плавно. Ниже мой код:ListView не прокручивается плавно
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
view = convertView;
int type = getItemViewType(position);
if(view == null){
mHolder = new ViewHolder();
if (type == 0) {
mHolder.mainLinearType1 = (LinearLayout) view.findViewById(R.id.main_linear);
mHolder.hsv1 = (HorizontalScrollView) view.findViewById(R.id.hsv);
}
if (type == 1) {
....
}
if (type == 2) {
....
}
view.setTag(mHolder);
}
else{
mHolder = (ViewHolder) view.getTag();
}
if(type==0){
mHolder.mainLinearType1.removeAllViews();
for (int i = 0; i <mList.get(position).getEventList().size(); i++) {
View additionView = mLayoutInflater.inflate(R.layout.activity_type1_subitem_view, null,false);
FrameLayout innerLinnerLayout=(FrameLayout)additionView.findViewById(R.id.frame_view);
ImageView activityImage = (ImageView) additionView.findViewById(R.id.activity_iv);
ProgressBar pb = (ProgressBar) additionView.findViewById(R.id.progress);
AQueryImageDownloader.loadImage(activityImage, pb, mList.get(position).getEventList().get(i).getEventImagePath(), mContext);
mHolder.mainLinearType1.addView(innerLinnerLayout);
}
}
У меня попробовать много, но не в состоянии сделать прокрутку правильно. Я также попробовал просмотр пейджера и горизонтального списка. Но такая же проблема возникает. Пожалуйста, помогите решить эту проблему.
Заранее благодарен.
EDITED
Ниже мой ListView в XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container_ll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/White">
<include
android:id="@+id/header_view"
layout="@layout/header_layout" />
<ListView
android:id="@+id/list_view"
android:layout_below="@+id/header_view"
android:scrollbars="none"
android:visibility="gone"
android:divider="@color/LtGreen"
android:dividerHeight="1dp"
android:smoothScrollbar="true"
android:scrollingCache="false"
android:animationCache="false"
android:cacheColorHint="@android:color/transparent"
android:listSelector="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
Google: образец списка ViewHolder в ListView. – Simas
Попробуйте это свойство в listview в xml-файле. android: smoothScrollbar = "true" android: scrollingCache = "false" android: animationCache = "false" – Shane
Я создал класс ViewHolder для своего списка view.when я создаю ViewHolder для горизонтального элемента просмотра прокрутки, а затем добавлю вид в линейную компоновку то он дает ошибку, которую ребенок уже добавлен в view.Please сначала удалите. – Ravi