1. 程式人生 > >ListView 很短的時間內連續點選同一個item會跳轉兩次

ListView 很短的時間內連續點選同一個item會跳轉兩次

我得解決方案是自定義一個方法

public abstract class NoDoubleItemClickListener implements OnItemClickListener {
    public static final int MIN_CLICK_DELAY_TIME = 1000;
    private long lastClickTime = 0;
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        long currentTime = Calendar.getInstance
().getTimeInMillis(); if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) { lastClickTime = currentTime; NoDoubleItemClickListener(view); } } public abstract void NoDoubleItemClickListener(View v); }
在程式碼中呼叫
listView.setOnItemClickListener(new NoDoubleItemClickListener() {
    @Override
public void NoDoubleItemClickListener(View v) { } });

如果你是一個view,可以使用如下解決辦法

自己定義一個方法

public abstract class NoDoubleClickListener implements View.OnClickListener {
    public static final int MIN_CLICK_DELAY_TIME = 1000;
    private long lastClickTime = 0;
@Override
public void onClick(View v) {
        long 
currentTime = Calendar.getInstance().getTimeInMillis(); if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) { lastClickTime = currentTime; onNoDoubleClick(v); } } public abstract void onNoDoubleClick(View v); }
在程式碼中呼叫
view.setOnClickListener(new NoDoubleClickListener() {
    @Override
public void onNoDoubleClick(View v) {
        
    }
});