あなたの質問の 40% くらいは理解できました。サミットする前に、質問を校正してください。私はいくつかのことについて本当に混乱しています。#1 ビューまたはフラグメントを使用していますか? タブを使用している場合は、フラグメントを使用する必要があります! #2 ViewFlipper、スワイプ/水平ページング、タブを使用して、または3つすべてを同時に使用して、フラグメントを切り替えていますか。
2 番目の質問への回答として、ViewFlipper を使用している場合は、OnClickListener を実装する必要があります。ユーザーがフリッパーをクリックすると、アプリはメソッド onClick に入ります。View.OnTouchListener を実装すると、アプリはメソッド onTouch(View v, MotionEvent event) に入ります。onTouch のパラメーターに注意してください。MotionEvent が必要です。ViewFlipper は短いタップに最適です。MotionEvent はスワイプに最適です。
ViewFlipper をアクティブにするには、次のものが必要です。
1) flippy = (ViewFlipper) findViewById(R.id.viewFlipper1);
2) flippy.setOnClickListener(this); //This is to make the ViewFlipper respond to clicks.
3) implements OnClickListener //This goes on top of your class (after “extends”).
4) 次に、ユーザーが実際に ViewFlipper をクリックすると、プログラムは次のメソッドに移動します。
public void onClick(View arg0) {flippy.showNext();}
最初の質問への回答です。あなたの質問はこれだと思います:
1) ViewFlipper を使用して 2 つ以上のアイテム間をスライドできないのはなぜですか?
こうやって。Flippering.java というクラスのサンプル コードを次に示します。
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ViewFlipper;
public class Flippering extends Activity implements OnClickListener {
ViewFlipper flippy;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.h_swipe_neg_one);
flippy = (ViewFlipper) findViewById(R.id.viewFlipper1);
flippy.setOnClickListener(this);
}
public void onClick(View arg0) {
// TODO Auto-generated method stub
flippy.showNext();
}
}
対応する XML ドキュメントは次のとおりです。
<ViewFlipper
android:id="@+id/viewFlipper1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="Clicked">
<ImageView
android:id="@+id/imageView1a"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/autumn_leaves" >
</ImageView>
<ImageView
android:id="@+id/imageView2a"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/azul" >
</ImageView>
<ImageView
android:id="@+id/imageView3a"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/big_mountain" >
</ImageView>
</ViewFlipper>
</LinearLayout>
android:src="@drawable/big_mountain"
res/drawable-hdpi フォルダーにある画像を参照していることに注意してください。また、 の代わりに を<ImageView>
使用できます<TextView>
。たとえば、次のようになります。
<ViewFlipper>
<TextView></TextView>
<TextView></TextView>
<TextView></TextView>
</ViewFlipper>
さらに、あなたの問題が ActionBarSherlock と関係があるとは思えません。