0

我对可点击元素有问题,例如我可以ListView用两根手指同时点击两个项目。

listview 的代码如下:

@Override
public View getView(final int position, View convertView, ViewGroup parent) {


    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.list_item, null);
        convertView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //open some Activity here
            }
        }
    }
}

所以用两个手指Activty打开两次。如果我单击几个按钮,则会出现相同的行为。如果单击按钮和某个选项卡等,则相同...这是一些不使用boolean标志的全局解决方案?

4

3 回答 3

1

您需要设置一个过OnItemClickListenersetOnItemClickListener(...)才能获得正确的点击行为。

于 2013-09-10T15:35:01.040 回答
1

处理这个的简单方法是:

long clickedTime;
@Override
public void onItemClick(View v) {
      //open some Activity here
      if (System.currentTimeMillis() - clickedTime > 100) {
             clickedTime = System.currentTimeMillis();
             // ... your stufff
      }
}

但你应该使用OnItemClickListener

于 2013-09-10T15:36:57.410 回答
1

由于您寻求全球解决方案,因此您可以添加:

android:launchMode="singleTop"

到清单文件中活动的属性,它只允许启动一次活动。我说的当然是您打算在 onClick 中打开的活动

于 2013-09-10T15:46:29.227 回答