Aaron B.
- Forum-Beiträge: 206
01.06.2013, 15:59:13 via App
01.06.2013 15:59:13 via App
Hallo community!
Ich habe einen HorizontalListView (extends HorizontalScrollView) kreiert. Bei der Stelle 'Adapter.getView()' in der Methode 'setAdapter()' stürzt die App jedoch ab. Ich glaube, es l liegt an der ViewGroup. Ich weiß nicht genau, wie ich den View sonst bekommen soll. Was ist an dem folgenden Code falsch? Danke im Voraus für Antworten
package de.daymanager.classes;
import android.content.*;
import android.view.*;
import android.widget.*;
import java.util.*;
import android.widget.AdapterView.*;
public class HorizontalListView extends HorizontalScrollView
{
Context _c;
ArrayList<View> views;
List<de.daymanager.classes.HorizontalListView.OnItemClickListener> listeners;
LinearLayout itemsL;
public HorizontalListView(Context c) {
super(c);
_c = c;
views = new ArrayList<View>();
itemsL = new LinearLayout(_c);
itemsL.setOrientation(LinearLayout.HORIZONTAL);
listeners = new ArrayList<OnItemClickListener>();
addView(itemsL);
}
public void setAdapter(Adapter adapter) {
for(int i = 0; i < adapter.getCount(); i ++) {
View v = new View(_c);
v = adapter.getView(i, v, this);
v.setId(views.size());
views.add(v);
}
actualize();
}
public void actualize() {
for(int i = 0; i < itemsL.getChildCount(); i ++) {
itemsL.removeViewAt(0);
}
for(View v : views) {
itemsL.addView(v);
v.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
for(OnItemClickListener listener : listeners) {
listener.onItemClick(v, v.getId());
}
}
});
}
}
public void setOnItemClickListener(OnItemClickListener listener) {
listeners.add(listener);
}
public interface OnItemClickListener {
public boolean onItemClick(View view, int position);
}
}
Ich habe einen HorizontalListView (extends HorizontalScrollView) kreiert. Bei der Stelle 'Adapter.getView()' in der Methode 'setAdapter()' stürzt die App jedoch ab. Ich glaube, es l liegt an der ViewGroup. Ich weiß nicht genau, wie ich den View sonst bekommen soll. Was ist an dem folgenden Code falsch? Danke im Voraus für Antworten
package de.daymanager.classes;
import android.content.*;
import android.view.*;
import android.widget.*;
import java.util.*;
import android.widget.AdapterView.*;
public class HorizontalListView extends HorizontalScrollView
{
Context _c;
ArrayList<View> views;
List<de.daymanager.classes.HorizontalListView.OnItemClickListener> listeners;
LinearLayout itemsL;
public HorizontalListView(Context c) {
super(c);
_c = c;
views = new ArrayList<View>();
itemsL = new LinearLayout(_c);
itemsL.setOrientation(LinearLayout.HORIZONTAL);
listeners = new ArrayList<OnItemClickListener>();
addView(itemsL);
}
public void setAdapter(Adapter adapter) {
for(int i = 0; i < adapter.getCount(); i ++) {
View v = new View(_c);
v = adapter.getView(i, v, this);
v.setId(views.size());
views.add(v);
}
actualize();
}
public void actualize() {
for(int i = 0; i < itemsL.getChildCount(); i ++) {
itemsL.removeViewAt(0);
}
for(View v : views) {
itemsL.addView(v);
v.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
for(OnItemClickListener listener : listeners) {
listener.onItemClick(v, v.getId());
}
}
});
}
}
public void setOnItemClickListener(OnItemClickListener listener) {
listeners.add(listener);
}
public interface OnItemClickListener {
public boolean onItemClick(View view, int position);
}
}
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.