編輯:關於Android編程
1.用於區分很多相似的View
例如:
button1.setOnClickListener(new OnClickListener ... ); button2.setOnClickListener(new OnClickListener ... );
public void onClick(View v) {
doAction(1); // 1 for button1, 2 for button2, etc.
}
button1.setTag(1); button2.setTag(2);
listener = new OnClickListener() {
@Override
public void onClick(View v) {
doAction(v.getTag());
}
};
2.用於ListView的復用
我們自己寫自定義adapter的時候,通常會使用它,比如:
static class ViewHolder {
TextView tvPost;
TextView tvDate;
ImageView thumb;
}
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = myContext.getLayoutInflater();
convertView = inflater.inflate(R.layout.postitem, null);
ViewHolder vh = new ViewHolder();
vh.tvPost = (TextView)convertView.findViewById(R.id.postTitleLabel);
vh.tvDate = (TextView)convertView.findViewById(R.id.postDateLabel);
vh.thumb = (ImageView)convertView.findViewById(R.id.postThumb);
convertView.setTag(vh);
}
....................
}
除了上述情況以外,我們盡量不要直接使用,原因:
1.代碼可讀性:會給其他的程序員造成困擾
2.由於setTag和getTag設置的是一個Object對象,可能會出現類的轉換異常
不過,android4.0以後,有一個更好的方法:setTag(int key, Object tag)可以通過類似
使用Eclipse開發Android源碼
1.把eclipse工程配置文件復制到Android源碼根目錄下cp development/ide/eclipse/.classpath ./2.修改eclipse程序
安卓高級3 RecyclerView 和cardView使用案例
cardView:添加依賴:在Studio搜索cardview即可 在V7包中或者直接在gradle中添加compile 'com.android.support
插件開發之360 DroidPlugin源碼分析(五)Service預注冊占坑
在了解系統的activity,service,broadcastReceiver的啟動過程後,今天將分析下360 DroidPlugin是如何預注冊占坑的?本篇文章主要分
Android簡易實戰教程--第二十六話《網絡圖片查看器在本地緩存》
上一篇已經把王略中的圖片獲取到了。生活中有這麼些場景:微信聯網打開別人照片後,當手機斷網的時候再去點擊人家的額圖片還能完整看到。這時候,已經不是去網路中獲取圖片了,其實微