本文實例講述了Android編程記錄ListView標記行狀態的方法。分享給大家供大家參考,具體如下:
小Demo無什么特別之處,最特別的就是盡量少用notifyDataSetChanged,開銷太大了,當然使用是會省不少工的,不過有時候還是會遇到別的問題的,項目經驗表示會有這個可能性的,廢話不多少了,直接上關鍵代碼。
@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int pos, long arg3) { /** * 在ListView中,使用getChildAt(index)的取值,只能是當前可見區域(列表可滾動)的子項! 1、所以如果想獲取前部的將會出現返回Null值問題; 2、getChildCount跟getCount獲取的值將會不一樣(數量多時); 3、如果使用了getChildAt(index).findViewById(...)設置值的話,滾動列表時值就會改變了。 需要使用getFirstVisiblePosition()獲得第一個可見的位置,在用當前的position-getFirstVisiblePosition(),再用getChildAt取值! * */ int now_pos = pos - adapterView.getFirstVisiblePosition(); View v = adapterView.getChildAt(now_pos); ImageView imageView = (ImageView) v.findViewById(R.id.image); if (imageView.getVisibility() == View.VISIBLE) { imageView.setVisibility(View.GONE); adapter.setState(pos,NONBIAOZHI); }else{ imageView.setVisibility(View.VISIBLE); adapter.setState(pos,BIAOZHI); // getView
主站蜘蛛池模板:
垦利县|
钦州市|
清水县|
安多县|
肃北|
营山县|
藁城市|
定南县|
林州市|
同德县|
高台县|
鄂托克前旗|
祁门县|
柘城县|
建阳市|
阳曲县|
台北市|
新兴县|
连州市|
岳普湖县|
石泉县|
固镇县|
卫辉市|
镇安县|
宁晋县|
临江市|
济源市|
金华市|
当阳市|
龙泉市|
肥西县|
香港
|
神木县|
沽源县|
城步|
信丰县|
镇平县|
陆丰市|
鹤岗市|
谢通门县|
北安市|