在 Listview 中有一個 HeaderView。當點擊它時,它隱藏文本,然後顯示一個 spinner 來從別的地方獲取數據。
第一次點擊後,我想禁用 onClick,那樣的話就不能調用多次獲取。
我使用 v.setClickable(false)
和 v.setEnabled(false)
, 但是都不能正常運行。
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
if (position == 0) {
ProgressBar pb = (ProgressBar) v
.findViewById(R.id.refresh_progress);
pb.setVisibility(View.VISIBLE);
TextView tv = (TextView) v.findViewById(R.id.load);
tv.setVisibility(View.GONE);
v.setClickable(false);
DownloadTask dt = new DownloadTask(v, "Old Message");
dt.execute();
}
}
有什麼好的建議嗎?謝謝!
private HashMap<Integer,Boolean> map = new HashMap<Integer,Boolean>();
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
if (position == 0 && ! map.get(position)) {
map.put(position,true);
ProgressBar pb = (ProgressBar) v
.findViewById(R.id.refresh_progress);
pb.setVisibility(View.VISIBLE);
TextView tv = (TextView) v.findViewById(R.id.load);
tv.setVisibility(View.GONE);
v.setClickable(false);
DownloadTask dt = new DownloadTask(v, "Old Message");
dt.execute();
}
}