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