分割された ActionBar、ViewPager、および FragmentList のホストである SherlockFragmentActivity があります。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);
}
もう 1 つの興味深い点は、onClickListener を使用した RelativeLayout には、動作 android:background="@android:drawable/list_selector_background"
していないように見える list_selector があることです。