0

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

4

1 回答 1

1

这是自 4.0 版以来 ABS 的当前问题。

有一些问题已经提交。搜索未解决的问题,您会找到它们。这是一种可能的解决方案:https ://github.com/JakeWharton/ActionBarSherlock/issues/442

于 2012-09-30T10:47:47.803 回答