程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-Android 在 listview 的 list item 中禁用 onclick 事件

android-Android 在 listview 的 list item 中禁用 onclick 事件

編輯:編程綜合問答
Android 在 listview 的 list item 中禁用 onclick 事件

在 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();

        } 
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved