Heim > Java > javaLernprogramm > Hauptteil

Erinnern Sie sich an einen Fehler beim seitlichen Löschen von SwipeMenuListView in der Android-Entwicklung

高洛峰
Freigeben: 2017-01-13 10:05:51
Original
1408 Leute haben es durchsucht

Im Internet gibt es viele Lösungen zum Löschen von Schiebevorgängen, z. B. das Umschreiben von Listview zum Überwachen des Schiebevorgangs. Heute werden wir über die gekapselte Komponente sprechen, die von einem Freund online bereitgestellt wurde Viele Situationen. Projektadresse: https://github.com/baoyongzhang/SwipeMenuListView. Ich habe auch das Ausleihprinzip übernommen und direkt verwendet.

Aber beim Debuggen und Ausführen des gleitenden Löschens von Daten ist ein Problem aufgetreten. Die ersten Daten wurden gelöscht, aber die letzten wurden gelöscht. Um das Problem zu finden, habe ich es versucht Mit der Listenansicht gibt es kein Problem mit den Daten, was bedeutet, dass die Position des gelöschten Steuerelements beim Löschen falsch berechnet wurde. Hier sind zunächst zwei Darstellungen.

Was hat das Problem verursacht? Ich habe mir eine zuvor eingereichte Version angesehen (ich erinnere mich, dass sie zuvor gut verwendet werden konnte, was darauf hindeutet, dass es sich um ein kürzlich eingereichtes Problem handelte), also habe ich ein Problem gefunden Die getview-Methode der SwipeMenuAdapter-Klasse ist kleiner als zuvor. Ich habe versucht, die Beurteilungsbedingung zu entfernen, und habe sie erneut ausgeführt.

public View getView(int position, View convertView, ViewGroup parent) { 
SwipeMenuLayout layout = null; 
// if (convertView == null) { 
View contentView = mAdapter.getView(position, convertView, parent); 
SwipeMenu menu = new SwipeMenu(mContext); 
menu.setViewType(getItemViewType(position)); 
createMenu(menu); 
SwipeMenuView menuView = new SwipeMenuView(menu, 
(SwipeMenuListView) parent); 
menuView.setOnSwipeItemClickListener(this); 
SwipeMenuListView listView = (SwipeMenuListView) parent; 
layout = new SwipeMenuLayout(contentView, menuView, 
listView.getCloseInterpolator(), 
listView.getOpenInterpolator()); 
layout.setPosition(position); 
// } else { 
// layout = (SwipeMenuLayout) convertView; 
// layout.closeMenu(); 
// layout.setPosition(position); 
//// View view = mAdapter.getView(position, layout.getContentView(), 
//// parent); 
// } 
if (mAdapter instanceof BaseSwipListAdapter) { 
boolean swipEnable = (((BaseSwipListAdapter) mAdapter).getSwipEnableByPosition(position)); 
layout.setSwipEnable(swipEnable); 
} 
return layout; 
}
Nach dem Login kopieren

Der oben stehende Code Ich erinnere mich an einen Fehler beim seitlichen Löschen von SwipeMenuListView. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht Vielen Dank für Ihre Unterstützung auf der chinesischen PHP-Website

Weitere verwandte Artikel zu einem SwipeMenuListView-Side-Sliding-Löschfehler finden Sie auf der chinesischen PHP-Website

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!