SurfaceView als ListItem?

  • 1 Antworten
  • Neuester Beitrag
Diskutiere SurfaceView als ListItem? im Android App Entwicklung im Bereich Betriebssysteme & Apps.
DieGoldeneMitte

DieGoldeneMitte

Experte
Hallo, ich möchte in meiner App gerne als ListItem einen SurfaceView benutzen, den ich in meinem Adapter erzeuge.
Code:
public View getView(int position, View convertView, ViewGroup parent) {
        MySurfaceView res = (MySurfaceView)convertView;
        if( res==null ) {
            res = new MySurfaceView(MainActivity.this);
        }
        res.setup( ... ); 
        return res;
}
In meinem View mache ich dann das hier:
Code:
class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback {
    public MySurfaceView(Context context) {
        super(context);
        Log.d("x","create"); // yapp, wird aufgerufen
        holder = getHolder();
        holder.addCallback(this);
        ...
    }
    ...
    public void surfaceChanged(SurfaceHolder holder, int format, int width,    int height) {
        Log.d("x","surfaceChanged"); // never called 
    }

    public void surfaceCreated(SurfaceHolder holder) {
        Log.d("x","surfaceCreated"); // never called 
    }

    public void surfaceDestroyed(SurfaceHolder holder) {
        Log.d("x","surfaceDestroyed"); // never called 
    }
Keiner der drei Callbacks wird aufgerufen. Hat jemand eine Idee, was ich da falsch mache/vergessen habe? Dass die darzustellende Liste nicht leer ist, habe ich geprüft.

[/CODE]
 
DieGoldeneMitte

DieGoldeneMitte

Experte
For the records:

Problem gefunden, man der ListItem hat keine Höhe, man muss also onMeasure überladen und dort etwas geeignetes setzen.