android在介面卡中區域性重新整理介面
阿新 • • 發佈:2019-01-25
先上程式碼
/**
* update listview 單條資料
*/
public void updateItemData(VideoInfo item,int position) {
Message msg = Message.obtain();
msg.arg1 = position;
// 更新mDataList對應位置的資料
videoList.set(position, item);
// handle重新整理介面
han.sendMessage(msg);
}
private Handler han = new Handler() {
public void handleMessage(android.os.Message msg) {
updateItem(msg.arg1);
};
};
/**
* 重新整理指定item
*/
private void updateItem(int index) {
if (mListView == null) {
return;
}
// 獲取當前可以看到的item位置
int visiblePosition = mListView.getFirstVisiblePosition();
// 如新增headerview後 firstview就是hearderview
// 所有索引+1 取第一個view
// View view = listview.getChildAt(index - visiblePosition + 1);
// 獲取點選的view
View view = mListView.getChildAt(index-visiblePosition+1);
if (view != null) {
VideoInfo videoInfo = videoList.get(index);(TextView)view.findViewById(R.id.txt_favorit);
txt_favorit.setText(videoInfo.getGreat_count());
}
}
記得要更新資料來源即videoList中的資料