// Target角色,適配目標
public interface FiveVolt{
publicint getVolt5();
}
//Adaptee角色,須要被轉換的對象
publicclassVolt220{
publicint getVolt220(){
return220;
}
}
// adapter角色
publicclassClassAdapter extends Volt220 implements FiveVolt{
@Override
publicint getVolt5(){
return5;
}
}
publicclassTest{
publicstaticvoid main(String[] args){
ClassAdapter adapter =newClassAdapter();
System.out.println("輸出電壓 : "+ adapter.getVolt5());
}
}
// Target角色,適配目標
public interface FiveVolt{
publicint getVolt5();
}
// Adaptee角色,須要被轉換的對象
publicclassVolt220{
publicint getVolt220(){
return220;
}
}
// 對象適配器
publicclassObjectAdapter implements FiveVolt{
Volt220 mVolt220;
publicObjectAdapter(Volt220 adaptee){
mVolt220 = adaptee;
}
publicint getVolt220(){
return mVolt220.getVolt220();
}
@Override
publicint getVolt5(){
return5;
}
}
publicclassTest{
publicstaticvoid main(String[] args){
ClassAdapter adapter =newClassAdapter();
System.out.println("輸出電壓 : "+ adapter.getVolt5());
}
}
// 代碼省略
ListView myListView =(ListView)findViewById(listview_id);
// 設置適配器
myListView.setAdapter(newMyAdapter(context, myDatas));
// 適配器
publicclassMyAdapter extends BaseAdapter{
privateLayoutInflater mInflater;
List<String> mDatas ;
publicMyAdapter(Context context,List<String> datas){
this.mInflater =LayoutInflater.from(context);
mDatas = datas ;
}
@Override
publicint getCount(){
return mDatas.size();
}
@Override
publicString getItem(int pos){
return mDatas.get(pos);
}
@Override
publiclong getItemId(int pos){
return pos;
}
// 解析、設置、緩存convertView以及相關內容
@Override
publicView getView(int position,View convertView,ViewGroup parent){
ViewHolder holder = null;
// Item View的複用
if(convertView == null){
holder =newViewHolder();
convertView = mInflater.inflate(R.layout.my_listview_item, null);
// 獲取title
holder.title =(TextView)convertView.findViewById(R.id.title);
convertView.setTag(holder);
}else{
holder =(ViewHolder)convertView.getTag();
}
holder.title.setText(mDatas.get(position));
return convertView;
}
}