2

Android Support Package の ViewPager とフラグメントでビューページャーを使用しています。ビューページャーを長押ししたときに longlick を呼び出したいのですが、起動しません。

viewPager.setOnLongClickListener(new View.OnLongClickListener() {

        @Override
        public boolean onLongClick(View arg0) {
            Toast.makeText(context, "ViewPager - LongClick!", Toast.LENGTH_SHORT).show();
            return false;
        }
    });
4

1 に答える 1

-3

Linearlayout などの「ロング クリック」イベントをサポートする親の中に ViewPager を配置できます。例えば;

activity_main.xml

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout 
        android:id="@+id/linearLayout"
        android:longClickable="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:background="@android:color/darker_gray"
        />
 </LinearLayout>
</LinearLayout>

MainActivity.java

    public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        LinearLayout linearLayout=(LinearLayout)findViewById(R.id.linearLayout);
        linearLayout.setOnLongClickListener(new OnLongClickListener() {

            @Override
            public boolean onLongClick(View v) {
                Toast.makeText(MainActivity.this, "Long Click...", Toast.LENGTH_SHORT).show();
                return false;
            }
        });     
    }
}
于 2013-07-12T15:45:48.713 に答える