I'm trying to write an app which will present a list of items to the
user that can be reordered, so I want to use the same code that's used
in the Music app to reorder items in a playlist. This is controlled
via com.android.music.TouchInterceptor, which extends ListView.

I copied this file into my project, changed the package to my own,
changed all references to mContext (a private field in ListAdaptor) to
getContext() because I was getting compile errors, and changed the R.*
references to my own layout ID's and icons. There are no other changes
to the class.

In the Music app, TrackBrowserActivity sets up move listeners on its
ListView using this:

public class TrackBrowserActivity extends ListActivity
        implements View.OnCreateContextMenuListener, MusicUtils.Defs,
ServiceConnection
{
    [...]
    private ListView mTrackList;
    [...]
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle)
    {
        [...]
        mTrackList = getListView();
        mTrackList.setOnCreateContextMenuListener(this);
        if (mEditMode) {
            //((TouchInterceptor) mTrackList).setDragListener
(mDragListener);
            ((TouchInterceptor) mTrackList).setDropListener
(mDropListener);
            ((TouchInterceptor) mTrackList).setRemoveListener
(mRemoveListener);
            mTrackList.setCacheColorHint(0);
        } else {

...so I tried doing the same thing in my app:

public class MyClass extends ListActivity implements
OnCreateContextMenuListener {
    [...]
    private ListView mItemList;
    [...]
    @Override
    protected void onCreate(Bundle icicle) {
        [...]
        mItemList=getListView();
        mItemList.setOnCreateContextMenuListener(this);
        ((TouchInterceptor)mItemList).setDropListener(mDropListener);
        ((TouchInterceptor)mItemList).setRemoveListener
(mRemoveListener);

...but my code results in a ClassCastException. That actually doesn't
surprise me since the ListView in my ListActivity is not an instance
of TouchInterceptor, but how come it works in the Music app when it's
doing things exactly the same way? I tried this on the 1.1 SDK and
just upgraded to 1.5 to check it there, and it occurs under both.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to