点击几个可点击的项目同时触发所有项目

时间:2013-09-10 15:31:22

标签: java android

我在点击元素时遇到问题,例如我可以用两根手指同时点击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标志的全局解决方案?

3 个答案:

答案 0 :(得分:1)

您需要通过OnItemClickListener设置setOnItemClickListener(...)才能获得正确的点击行为。

答案 1 :(得分:1)

处理此问题的简便方法是:

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

但你应该使用OnItemClickListener

答案 2 :(得分:1)

因为你看一下全局解决方案,你可以添加:

android:launchMode="singleTop"

清单文件中活动的属性, 它允许活动只启动一次。 我正在谈论你打算在onClick中打开的活动