Avoid using getTag(id)
It's not in Android 1.5
This commit is contained in:
parent
6bf23b0237
commit
03821bbae5
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<item type="id" name="media" />
|
||||
<item type="id" name="field" />
|
||||
<item type="id" name="limiter_field" />
|
||||
</resources>
|
@ -84,7 +84,7 @@ public class MediaAdapter extends BaseAdapter implements Filterable {
|
||||
view = new MediaView(mContext, flags);
|
||||
|
||||
if (mExpanderListener != null)
|
||||
view.setupExpander(mPrimaryField, mExpanderListener);
|
||||
view.setExpanderOnClickListener(mExpanderListener);
|
||||
}
|
||||
|
||||
view.updateMedia(get(position), mPrimaryField, mSecondaryField);
|
||||
|
@ -126,12 +126,10 @@ public class MediaView extends ViewGroup {
|
||||
mPrimaryLine.layout(mPadding, top, mPadding + textWidth, top + actualHeight);
|
||||
}
|
||||
|
||||
public void setupExpander(int field, View.OnClickListener listener)
|
||||
public void setExpanderOnClickListener(View.OnClickListener listener)
|
||||
{
|
||||
if (mExpander != null) {
|
||||
mExpander.setTag(R.id.field, field);
|
||||
if (mExpander != null)
|
||||
mExpander.setOnClickListener(listener);
|
||||
}
|
||||
}
|
||||
|
||||
public void updateMedia(Song song, int primaryField, int secondaryField)
|
||||
@ -140,7 +138,29 @@ public class MediaView extends ViewGroup {
|
||||
mPrimaryLine.setText(song.getField(primaryField));
|
||||
if (mSecondaryLine != null)
|
||||
mSecondaryLine.setText(song.getField(secondaryField));
|
||||
if (mExpander != null)
|
||||
mExpander.setTag(R.id.media, song);
|
||||
if (mExpander != null) {
|
||||
ExpanderData data = null;
|
||||
try {
|
||||
data = (ExpanderData)mExpander.getTag();
|
||||
} catch (ClassCastException e) {
|
||||
}
|
||||
|
||||
if (data == null) {
|
||||
data = new ExpanderData(primaryField);
|
||||
mExpander.setTag(data);
|
||||
}
|
||||
|
||||
data.media = song;
|
||||
}
|
||||
}
|
||||
|
||||
public static class ExpanderData {
|
||||
public ExpanderData(int field)
|
||||
{
|
||||
this.field = field;
|
||||
}
|
||||
|
||||
public int field;
|
||||
public Song media;
|
||||
}
|
||||
}
|
@ -203,7 +203,7 @@ public class SongSelector extends TabActivity implements AdapterView.OnItemClick
|
||||
view.setBackgroundDrawable(background);
|
||||
view.setLayoutParams(params);
|
||||
view.setPadding(5, 2, 5, 2);
|
||||
view.setTag(R.id.limiter_field, i);
|
||||
view.setTag(new MediaView.ExpanderData(i));
|
||||
view.setOnClickListener(this);
|
||||
mLimiters.addView(view);
|
||||
}
|
||||
@ -219,24 +219,26 @@ public class SongSelector extends TabActivity implements AdapterView.OnItemClick
|
||||
if (view == mClearButton) {
|
||||
mTextFilter.setText("");
|
||||
} else {
|
||||
Object fieldObj = view.getTag(R.id.field);
|
||||
if (fieldObj != null) {
|
||||
int field = (Integer)fieldObj;
|
||||
Song media = (Song)view.getTag(R.id.media);
|
||||
for (int i = field; i != 3; ++i)
|
||||
mAdapters[i].setLimiter(field, media);
|
||||
mTabHost.setCurrentTab(field);
|
||||
} else {
|
||||
fieldObj = view.getTag(R.id.limiter_field);
|
||||
if (fieldObj != null) {
|
||||
int field = (Integer)fieldObj;
|
||||
int newField = field == Song.FIELD_ARTIST ? -1 : field - 1;
|
||||
for (int i = mAdapters.length; --i != -1; ) {
|
||||
if (mAdapters[i].getLimiterField() >= field)
|
||||
mAdapters[i].setLimiter(newField, mAdapters[i].getLimiterMedia());
|
||||
}
|
||||
updateLimiterViews();
|
||||
MediaView.ExpanderData data = null;
|
||||
try {
|
||||
data = (MediaView.ExpanderData)view.getTag();
|
||||
} catch (ClassCastException e) {
|
||||
}
|
||||
|
||||
if (data == null)
|
||||
return;
|
||||
|
||||
if (view instanceof TextView) {
|
||||
int newField = data.field == Song.FIELD_ARTIST ? -1 : data.field - 1;
|
||||
for (int i = mAdapters.length; --i != -1; ) {
|
||||
if (mAdapters[i].getLimiterField() >= data.field)
|
||||
mAdapters[i].setLimiter(newField, mAdapters[i].getLimiterMedia());
|
||||
}
|
||||
updateLimiterViews();
|
||||
} else {
|
||||
for (int i = data.field; i != 3; ++i)
|
||||
mAdapters[i].setLimiter(data.field, data.media);
|
||||
mTabHost.setCurrentTab(data.field);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user