在编写Android应用程序时,很多时候都需要自己来扩张Android的view类。 这里介绍一个最基本的扩展View类:利用TextView和ImageView组合成我们自己的IconTextView类。
第一步:我们必须先创建一个包含了有String mText 和 Drawable mIcon数据成员的类,并且该类中应包含有对这两个数据成员进行Set和Get的成员函数。
package hi.braincol.local.filebrowser.icontextlist;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import android.graphics.drawable.Drawable;
//IconText类,该类中主要有两个数据成员:String mText 和 Drawable mIcon。
//并实现了泛型接口Comparable<?>,实现这个接口的目的是为了
//让类似于"List<IconText> Entries = new ArrayList<IconText>();"
//的对象Entries具有排序功能"Collections.sort(Entries);"
public class IconText implements Comparable<IconText>{
private String mText = " ";
private Drawable mIcon;
private boolean mSelectable = true;
public IconifiedText(String text, Drawable bullet) {
mIcon = bullet;
mText = text;
}
public boolean isSelectable() {
return mSelectable;
}
public void setSelectable(boolean selectable) {
mSelectable = selectable;
}
//获取Text
public String getText() {
return mText;
}
//设置Text
public void setText(String text) {
mText = text;
}
//获取Icon
public void setIcon(Drawable icon) {
mIcon = icon;
}
//设置Icon
public Drawable getIcon() {
return mIcon;
}
//Comparable<?>接口中的方法
@Override
public int compareTo(IconText other) {
if(this.mText != null)
return this.mText.compareTo(other.getText());
else
throw new IllegalArgumentException();
}
}