Welcome 微信登录

首页 / 操作系统 / Linux / Android双击事件(模拟ListView双击事件)

双击事件在Windows中经常使用,大家都已经用得非常习惯了.但是在Android中默认是没有双击事件的(这个我觉得很奇怪).在我的足球即时比分应用中就用到了双击事件,我上网查过也在一些QQ群中问过一些Android开发人员,他们说这个只能自己来处理了,Android是没有提供双击事件的.以下是我足球即时比分中的代码:public class SenseSoccerScoreActivity extends Activity{// 双击事件记录最近一次点击的IDprivate String lastClickId; // 双击事件记录最近一次点击的时间private long lastClickTime; @Overridepublic void onCreate(Bundle savedInstanceState) {Log.d("score", "SenseSoccerScoreActivity create ...");super.onCreate(savedInstanceState);ConfigUtil.setConfig(this, KEY_UPDATE_TIME, 0L);// 更新本应用的LocaleScoreUtil.updateAppLocale(this);  LeagueUtil.init(this); this.requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.main);setTheme(android.R.style.Theme_NoTitleBar);initMatchViews() ;} /** * 初始化赛事列表的数据 */private void initMatchViews() { // ------------------ playing listView --------------------MatchAdapter playingAdapter = mm.getPlayingAdapter();playingAdapter.sortPlayingBy(MatchDateComparator.getInstance());playingListView.setAdapter(playingAdapter);playingListView.setOnItemLongClickListener(todayListLongClickListener); // 添加点击事件,双击的判断由mItemClickListenter完成 playingListView.setOnItemClickListener(mItemClickListenter); playingListView.setOnTouchListener(listViewOnTouchListener);playingListView.setFastScrollEnabled(true);} /** * 双击事件(赛事明细,事件) */private OnItemClickListener mItemClickListenter = new OnItemClickListener() {public void onItemClick(AdapterView<?> parent, View v, int pos,long id) {MatchVO mv = (MatchVO) ((ListView)parent).getAdapter().getItem(pos); // 如果是双击,1秒内连续点击判断为双击if(mv.getId().equals(lastClickId)&& (Math.abs(lastClickTime-System.currentTimeMillis()) < 1000)){lastClickId = null;lastClickTime = 0;Intent intent = new Intent();intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);intent.putExtra("matchId", mv.getId());intent.putExtra("matchKey", mv.getMatchKey());intent.setClass(SenseSoccerScoreActivity.this, MatchEventActivity.class);startActivity(intent);}else{lastClickId = mv.getId();lastClickTime = System.currentTimeMillis();}}};}