Es gibt eine benutzerdefinierte ListView, wo es den Text oder Bild oder beides angezeigt wird. Jetzt zeigt es den Text oder das Bild oder beide an, aber das Problem ist, während nur Text anzeigt, dass der Raum, der für das imageView besetzt ist, noch gesehen wird. Ich habe die Sichtbarkeit auch auf GONE gesetzt, aber es ist nicht zu verstecken.Bildansicht nicht auf benutzerdefinierten Listview
Adapter Code für Listview:
public class DescAdapter extends BaseAdapter implements Filterable{
private final listdisplay ds;
private ArrayList<descusers> dusers;
private ArrayList<descusers> orig;
public DescAdapter(listdisplay ds, ArrayList<descusers> dusers) {
this.ds = ds;
this.dusers = dusers;
}
@Override
public int getCount() {
return dusers.size();
}
@Override
public Object getItem(int position) {
return dusers.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
descusers du = dusers.get(position);
String username = du.loginname;
String descCrip=du.descCrip;
String Limage = du.image;
convertView = LayoutInflater.from(ds).inflate(R.layout.customlist,null);
TextView uname = (TextView)convertView.findViewById(R.id.username);
TextView desc = (TextView)convertView.findViewById(R.id.description);
ImageView iview= (ImageView)convertView.findViewById(R.id.imageList);
iview.setVisibility(View.GONE);
uname.setText(username);
desc.setText(descCrip);
if(!Limage.isEmpty()){
Glide.with(convertView.getContext()).load(Limage)
.diskCacheStrategy(DiskCacheStrategy.ALL).fitCenter().centerCrop().into(iview);
iview.setVisibility(View.VISIBLE);
}
return convertView;
}
}
Benutzerdefinierte XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="226dp"
android:orientation="vertical"
android:background="@drawable/test"
android:layout_gravity="center_horizontal|top">
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="username"
android:textColor="#ff6aa9ff"
android:textSize="20sp"
android:textStyle="bold"
android:layout_marginLeft="45dp"/>
<TextView
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Suggest"
android:textColor="#ff06010b"
android:textSize="18sp"
android:layout_marginLeft="45dp"/>
<ImageView
android:layout_width="275dp"
android:layout_height="165dp"
android:id="@+id/imageList"
android:layout_marginTop="6dp"
android:layout_marginLeft="45dp"/>
</LinearLayout>
was falsch i in dem obigen Code getan haben?
Antwort: Das Problem ist mit der linearen Layouthöhe, die als Android festgelegt wurde: layout_height = "226dp", geändert zu Wrap-Content löste das Problem.
hinzufügen 'if (convertView == null) {Textview uname = (Textview) convertView.findViewById (R.id.benutzername); TextView desc = (Textansicht) convertView.findViewById (R.id.description); ImageView iview = (Bildansicht) convertView.findViewById (R.id.imageList); iview.setVisibility (Ansicht.GONE); uname.setText (Benutzername); desc.setText (descCrip); if (Limage.isEmpty()!) { Glide.with (convertView.getContext()) Last (Limage) .diskCacheStrategy (DiskCacheStrategy.ALL) .fitCenter() centerCrop() in (iview)...; iview.setVisibility (View.VISIBLE); }} ' –
Rufen Sie notifyDataSetChanged() auf, nachdem Sie Ihre Ansicht aktualisiert haben? –
@IntelliJAmiya - Nicht funktioniert, Das gleiche Problem. – user2269164