リストビューと選択したアイテムに奇妙な問題があります。アイテムを選択してリストをスクロールするまで、すべて正常に機能します。高速スクロールして選択したアイテムが表示されなくなった場合、選択したアイテムの背景色は、2 つの行の間であっても、スクロール中に表示されたままになります。これは私のリストビュー XML です:
<ListView
android:id="@+id/my_id"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:cacheColorHint="@android:color/transparent"
android:drawSelectorOnTop="false"
android:listSelector="@android:color/holo_blue_light"
android:fastScrollEnabled="true"
android:scrollbars="vertical"
android:scrollingCache="false" />
これは私のアダプターです:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImpiantiCercatiViewHolder icvh;
if (convertView == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
convertView = inflater.inflate(R.layout.ricerca_impianti_list_adapter, null);
icvh = new ImpiantiCercatiViewHolder();
icvh.sigla = (TextView) convertView.findViewById(R.id.txv_impiantiSigla);
icvh.tipo = (TextView) convertView.findViewById(R.id.txv_impianti_tipo);
icvh.denDitta = (TextView) convertView.findViewById(R.id.txv_impianti_denominazione_ditta);
icvh.indDitta = (TextView) convertView.findViewById(R.id.txv_impianti_indirizzo_ditta);
icvh.dataScad = (TextView) convertView.findViewById(R.id.txv_impianti_data_scadenza);
convertView.setTag(icvh);
} else {
icvh = (ImpiantiCercatiViewHolder) convertView.getTag();
}
Impianto i = impianti.get(position);
if (i != null) {
icvh.tipo.setText(VimpUtils.ritornaSiglaTipoImpianto(i.getTipoImpianto()));
icvh.sigla.setText(i.getSigla() + "-" + i.getNumero() + "-" + i.getAnno());
icvh.denDitta.setText(i.getDenominazioneDitta());
icvh.indDitta.setText(i.getIndirizzoDitta() + " - " + i.getComuneDitta());
icvh.dataScad.setText(df.format(i.getDataScadenzaVerifica()));
}
return convertView;
}
static class ImpiantiCercatiVi`enter code here`ewHolder {
TextView sigla;
TextView tipo;
TextView denDitta;
TextView indDitta;
TextView dataScad;
}
これは私のアダプターxmlです:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="horizontal" >
<ImageView
android:id="@+id/img_lista_impianto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:src="@drawable/ic_impianto_dark" />
<TextView
android:id="@+id/txv_impiantiSigla"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textAppearance="@style/bigTextBlack" />
<TextView
android:id="@+id/txv_impianti_tipo"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textAppearance="@style/bigTextBlack" />
<TextView
android:id="@+id/txv_impianti_data_scadenza"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textAppearance="@style/bigText" />
<TextView
android:id="@+id/txv_impianti_denominazione_ditta"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
android:textAppearance="@style/bigText" />
<TextView
android:id="@+id/txv_impianti_indirizzo_ditta"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:gravity="right"
android:textAppearance="@style/bigText" />
編集: ここに問題のある画面があります。