[問題] listview裡面的textview跑板
如題
我的listview會變成這樣
http://imgur.com/a/Mkn2g
從來沒遇到過這種問題....
下面是我左邊listview的adapter
class AreaSelectAdapter extends BaseAdapter {
@Override
public int getCount() {
return TempData.areaData.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LinearLayout baseLayout = null;
if (convertView == null) {
baseLayout = (LinearLayout) LinearLayout.inflate(mContext, R.layout.item_area, null);
} else {
baseLayout = (LinearLayout) convertView;
}
TextView area = (TextView) baseLayout.findViewById(R.id.list_item);
if (TempData.areaData.size() != 0) {
area.setText(TempData.areaData.get(position).getArea());
}
//將選中的選項反白
if (position == mAreaPosition) {
area.setTextColor(getResources().getColor(R.color.white));
} else {
area.setTextColor(getResources().getColor(R.color.colorBFBFBF));
}
}
先謝謝大家了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.39.226
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1493720671.A.92D.html
推 givemepass: 先不說跑版 你的Holder呢?
我沒有寫holder耶 05/02 20:35
推
05/02 20:42, , 1F
05/02 20:42, 1F
抱歉,沒有說得很清楚定,資料確定沒有空白,因為出現這狀況之後,
只要滑動listview某些項就會跑成這樣,每次滑動跑版的項都不一樣
發現問題了,只要調用左邊Adapter的notifyDataSetChanged 就會變那樣...
※ 編輯: rockex6 (60.251.39.226), 05/03/2017 09:46:42
※ 編輯: rockex6 (60.251.39.226), 05/03/2017 10:08:08
→
05/03 10:14, , 2F
05/03 10:14, 2F
→
05/03 10:22, , 3F
05/03 10:22, 3F
→
05/03 10:22, , 4F
05/03 10:22, 4F
這個是整個getView
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LinearLayout baseLayout = null;
if (convertView == null) {
baseLayout = (LinearLayout) LinearLayout.inflate(mContext, R.layout.item_area, null);
} else {
baseLayout = (LinearLayout) convertView;
}
TextView area = (TextView) baseLayout.findViewById(R.id.list_item1);
if (TempData.areaData.size() != 0) {
area.setText(TempData.areaData.get(position).getArea());
}
//將選中的選項反白
if (position == mAreaPosition) {
area.setTextColor(getResources().getColor(R.color.white));
} else {
area.setTextColor(getResources().getColor(R.color.colorBFBFBF));
}
return baseLayout;
}
※ 編輯: rockex6 (60.251.39.226), 05/03/2017 13:32:45
好..整個BUG釐清了,當我的listview點擊之後
最上第一項和最下第一項不可見的item位置跑板
因為我需要點擊item之後 把他的文字換顏色 所以叫了notifyDataSetChanged
但是這樣會跑板,把notifyDataSetChanged拔了之後就不會了
※ 編輯: rockex6 (60.251.39.226), 05/03/2017 15:47:19
推
05/03 20:50, , 5F
05/03 20:50, 5F
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章