Hallo,
ich habe eine ListView, die von einem CustomAdapter extends ArrayAdapter erzeugt wird. So weit funktioniert alles. Würde nur gerne einzelne Items gerne wieder durch einen longClick löschen können. Das Problem ist, dass der gesetzte Listener scheinbar nicht angesprochen wird:
Leider wird der Toast nicht erzeugt. Ich vermute es liegt am CustomAdapter, da es in einem testweise eingebauten ListFragment mit SimpleCursorAdapter funktioniert wie es soll. Ich kann aber den Implementierungsfehler nicht erkennen.
Gruß
ich habe eine ListView, die von einem CustomAdapter extends ArrayAdapter erzeugt wird. So weit funktioniert alles. Würde nur gerne einzelne Items gerne wieder durch einen longClick löschen können. Das Problem ist, dass der gesetzte Listener scheinbar nicht angesprochen wird:
Java:
public class MyActivity extends ListActivity {
private class MyArrayAdapter<O> extends ArrayAdapter<O> {
private class MyTextWatcher implements TextWatcher {
private View mView;
private MyTextWatcher(View view) {
mView = view;
}
public void afterTextChanged(Editable s) {
// Eigene Implementierung. do something ...
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// do nothing
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// do nothing
}
}
private ArrayList<O> mList;
public MyArrayAdapter(Context context, int resource, int viewRessource,
ArrayList<O> objects) {
super(context, resource, viewRessource, objects);
mList = objects;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
super.getView(position, view, parent);
// Eigene Implementierung von getView()
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ...
ListView list = getListView();
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(DishActivity.this,
"Item in position " + position + " clicked",
Toast.LENGTH_LONG).show();
}
});
list.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(MyActivity.this,
"Item in position " + position + " clicked",
Toast.LENGTH_LONG).show();
return true;
}
});
//...
}
//...
}
Leider wird der Toast nicht erzeugt. Ich vermute es liegt am CustomAdapter, da es in einem testweise eingebauten ListFragment mit SimpleCursorAdapter funktioniert wie es soll. Ich kann aber den Implementierungsfehler nicht erkennen.
Gruß