简体   繁体   中英

onTouchListener not working at all

Hello im trying to use OnTouchListener.

My problem is that it doest seems to work.

I dotn get any logs called.

This is my code:

protected void onCreate(Bundle savedInstanceState) {

        requestWindowFeature(Window.FEATURE_NO_TITLE);

        super.onCreate(savedInstanceState);
        setContentView(R.layout.check);

        comenntsBigLayout = (RelativeLayout) findViewById(R.id.comenntsBigLayout);
        sendComment = (Button) findViewById(R.id.sendComment);
        commentsLayout = (LinearLayout) findViewById(R.id.commentsLayout);
        enterComment = (EditText) findViewById(R.id.enterComment);
        imagesGrid = (GridView) findViewById(R.id.imagesGrid);
        mainLayout = (RelativeLayout) findViewById(R.id.mainLayout);

        mainLayout.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                Log.i("test", "test");
                if(event.getAction() == MotionEvent.ACTION_UP)
                {
                    Log.i("test", "test1");
                    comenntsBigLayout.setVisibility(View.VISIBLE);
                    imagesGrid.setVisibility(View.GONE);
                }
                else if(event.getAction() == MotionEvent.ACTION_DOWN)
                {
                    Log.i("test", "test2");
                    comenntsBigLayout.setVisibility(View.GONE);
                    imagesGrid.setVisibility(View.VISIBLE);
                }

                return true;
            }
        });
}

My XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <GridView
        android:id="@+id/imagesGrid"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:numColumns="3" >
    </GridView>

    <RelativeLayout
        android:id="@+id/comenntsBigLayout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@+id/sendComment"
            android:layout_marginBottom="30sp"
            android:layout_marginLeft="15sp"
            android:layout_marginRight="15sp"
            android:layout_marginTop="15sp"
            android:background="@color/Beige" >

            <LinearLayout
                android:id="@+id/commentsLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_above="@+id/sendComment"
                android:background="@color/Beige"
                android:orientation="vertical" >
            </LinearLayout>
        </ScrollView>

        <EditText
            android:id="@+id/enterComment"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="10sp"
            android:layout_marginLeft="5sp"
            android:layout_toLeftOf="@id/sendComment"
            android:hint="Write something..."
            android:textColorHint="@color/black" />

        <Button
            android:id="@+id/sendComment"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:text="Send"
            android:textColor="@color/black" />
    </RelativeLayout>

</RelativeLayout>

您的其他UI元素位于您要尝试使用触摸的相对布局的顶部,将OnTouchListeneter移至其他视图。

try this,

mainLayout.setOnTouchListener(new View.OnTouchListener()
{
   // Implementation;
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM