Android双击事件(模拟ListView双击事件)
时间:2011年07月06日作者:么吉查看次数:318 views评论次数:0
双击事件在Windows中经常使用,大家都已经用得非常习惯了.但是在Android中默认是没有双击事件的(这个我觉得很奇怪).在我的足球即时比分应用中就用到了双击事件,我上网查过也在一些QQ群中问过一些Android开发人员,他们说这个只能自己来处理了,Android是没有提供双击事件的.
以下是我足球即时比分中的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | public class SenseSoccerScoreActivity extends Activity{ // 双击事件记录最近一次点击的ID private String lastClickId; // 双击事件记录最近一次点击的时间 private long lastClickTime; @Override public void onCreate(Bundle savedInstanceState) { Log.d("score", "SenseSoccerScoreActivity create ..."); super.onCreate(savedInstanceState); ConfigUtil.setConfig(this, KEY_UPDATE_TIME, 0L); // 更新本应用的Locale ScoreUtil.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(); } } }; } |
返回 : Android开发博文汇总

最新评论
我在调出这个窗口的时候,暂停了我 »
Post:2011-11-29 19:31:02出8.0.5了,能否做一下破解呢? :mrgreen:
Post:2011-11-10 17:05:58:razz: 一直在找这个东西,甚至也 »
Post:2011-10-21 21:29:42Alarm 这个类是一个挺有意思的类, »
Post:2011-10-19 15:05:46回来看看等DbVisualizer 8.0 新版 »
Post:2011-10-10 19:20:21好东西,收藏了。
Post:2011-09-25 22:36:38:twisted: 不麻烦的话,能否能做 »
Post:2011-09-05 16:10:59你可以到hostloc去找IDC,很多。 X »
Post:2011-08-28 12:37:23