package com.gueei.demos.markupDemo.viewModels;
import gueei.binding.Command;
import gueei.binding.Observable;
import gueei.binding.collections.CursorCollection;
import gueei.binding.cursor.IdField;
import gueei.binding.cursor.RowModel;
import gueei.binding.cursor.StringField;
import android.app.Activity;
import android.database.Cursor;
import android.provider.MediaStore;
import android.view.View;
import android.widget.Toast;
public class ListViewWithCursorSource {
public ListViewWithCursorSource(Activity activity) throws Exception{
Cursor c = activity.getContentResolver().query(
MediaStore.Audio.Media.INTERNAL_CONTENT_URI,
new String[]{MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE},
null, null, null);
activity.startManagingCursor(c);
MusicList.setCursor(c);
}
public final CursorCollection<MusicItem> MusicList =
new CursorCollection<MusicItem>(MusicItem.class);
public final CursorCollection<MusicItem> MusicList2 =
new CursorCollection<MusicItem>(MusicItem.class);
public final Observable<Object> ClickedItem =
new Observable<Object>(Object.class);
public final Command ItemClickedCommand = new Command(){
public void Invoke(View view, Object... args) {
Toast.makeText(view.getContext(),((MusicItem)ClickedItem.get()).Title.get(), Toast.LENGTH_SHORT)
.show();
}
};
public final Command ItemLongClickedCommand = new Command(){
public void Invoke(View view, Object... args) {
Toast.makeText(view.getContext(),"Long clicked: " + ((MusicItem)ClickedItem.get()).Title.get(), Toast.LENGTH_SHORT)
.show();
}
};
public static class MusicItem extends RowModel{
public final IdField Id = new IdField(MediaStore.Audio.Media._ID);
public final StringField Title = new StringField(MediaStore.Audio.Media.TITLE);
}
}