У меня есть gridview
, который я раздуваю с помощью relativelayout
. Рассмотрим это на примере макета:Изменения в макете позиции в позиции 0 сетки зрения
0 1 2
3 4 5
......
......
У меня есть progress bar
в макете, что я хочу применить только к раскладке в положении 0. И обновлять его с помощью async task
после того, как адаптер установлен. Конечно, с gridview я не могу просто открыть представление в позиции 0 и показать/скрыть progressbar
всякий раз, когда он снова отображается. Что я должен сделать, чтобы исправить макет первого дочернего элемента gridview и не позволять ему изменять каждый раз, когда пользователь прокручивает элементы?
Это мой метод getView()
:
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
convertView = inflater.inflate(R.layout.gridview_tvguide, null);
holder = new ViewHolder();
holder.image = (ImageButton) convertView.findViewById(R.id.image);
holder.showTitle = (TextView) convertView
.findViewById(R.id.ShowTitle);
holder.showDuration = (TextView) convertView
.findViewById(R.id.ShowTime);
//by default visibility is set to GONE
holder.progBar = (ProgressBar) convertView.findViewById(R.id.progressBar);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
//logic to control the progressbar from asynctask
if (this.updateNowPlaying){
holder.progBar.setProgress(this.progress);
return convertView;
}
ImageLoader.getInstance().displayImage(
this.shows.get(position).getShowThumb(), holder.image);
holder.showTitle.setText(this.shows.get(position).getShowTitle());
holder.showDuration.setText(this.shows.get(position).getShowTime());
return convertView;
}
EDIT
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rlImage"
android:layout_width="wrap_content"
android:layout_height="200dp"
android:paddingBottom="7dp"
android:paddingRight="7dp" >
<ImageButton
android:id="@+id/image"
android:layout_width="220dp"
android:layout_height="220dp"
android:adjustViewBounds="true"
android:background="@null"
android:scaleType="centerCrop"
android:src="@drawable/noimage" />
<ImageButton
android:id="@+id/imageHover"
android:layout_width="220dp"
android:layout_height="220dp"
android:adjustViewBounds="true"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/tile_selector_style" />
<TextView
android:id="@+id/ShowTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:hint="Show Title"
android:paddingBottom="40dp"
android:paddingRight="20dp"
android:singleLine="true" />
<TextView
android:id="@+id/ShowTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:hint="Show Time"
android:paddingBottom="20dp"
android:paddingRight="20dp"
android:singleLine="true" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:visibility="gone"
android:layout_margin="0dp" />
</RelativeLayout>
Это мой gridview
:
<GridView
android:id="@+id/gridView"
android:layout_width="0dp"
android:layout_height="match_parent"
android:clipToPadding="true"
android:columnWidth="200dp"
android:fitsSystemWindows="true"
android:layout_weight="1"
android:numColumns="auto_fit"
android:stretchMode="columnWidth" >
</GridView>
Как я могу это сделать, не нарушая расположение? Я также добавляю свой код разметки разметки. – faizanjehangir
@MikeM. Я пробовал ваше возможное решение. Он отлично работает, но теперь проблема в том, что этот элемент больше не является частью 'gridview'. Это означает, что нет 'прокрутки'. – faizanjehangir
Я хочу, чтобы позиция 0 «gridview» была макетом, который содержит в нем «progressbar». REST элементов в 'gridview' должен' NOT' иметь в них 'progressbar', независимо от того, сколько я прокручиваю ... – faizanjehangir