我有一个 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"
,它似乎也不起作用。