Android - onClick事件在执行某些其他操作之前未注册

时间:2012-09-29 12:35:46

标签: android onclick actionbarsherlock android-2.2-froyo

我有一个SherlockFragmentActivity,它是分离的ActionBar,ViewPager和FragmentList的主机。 actionBar的底部是可点击的,当它被点击时,它会发送一个意图来启动另一个活动。

这一切都可以在我的4.1设备上正常工作,但在2.2设备上,在滚动列表或查看视图之前,不会注册点击。

只是强调一点 - 4.1设备上的功能非常好。

我已经记录了点击次数,并且在2.2设备上他们根本没有注册,直到滚动或分页发生。一旦用户滚动或翻页,似乎存储了用户所做的每次点击,并且设备尝试执行onClick操作的次数与点击按钮的次数相同。

onClickListener在RelativeLayout上设置,如下所示:

relativeLayout.addView(inflatedView);

RelativeLayout relativeLayout2 = (RelativeLayout) inflatedView.findViewById(R.id.layout);
relativeLayout2.setOnClickListener(this);

和onClick():

public void onClick(View v) {
    Log.i(TAG, "onCLick Registered");
    Intent startMusicPlayer = new Intent(MainActivity.this, MusicPlayerActivity.class);
    Log.i(TAG, "Intent Created. Should have moved on by now.");
    startActivity(startMusicPlayer);
}

另一个有趣的事情是带有onClickListener的RelativeLayout有一个list_selector android:background="@android:drawable/list_selector_background",它似乎也没有用。

1 个答案:

答案 0 :(得分:1)

这是自4.0版本以来ABS的最新一期。

已经提出了一些问题。搜索未解决的问题,你会发现它们。以下是一种可能的解决方案:https://github.com/JakeWharton/ActionBarSherlock/issues/442