Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何启动活动并单击Listener on按钮?_Android_Android Layout - Fatal编程技术网

Android 如何启动活动并单击Listener on按钮?

Android 如何启动活动并单击Listener on按钮?,android,android-layout,Android,Android Layout,我有一个相对布局中带有按钮的xml布局。我想让布局在放纵时做出反应。我添加了一个线性布局作为相对布局的最后一个子元素,它覆盖了整个屏幕,然后我在其中添加了onTouch以获得乐趣。问题是它永远不会到达按钮上的onclick侦听器(在线性布局下),但是当我让touch侦听器返回false时,我的按钮被调用,但fling没有。如何获得这两个事件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=

我有一个相对布局中带有按钮的xml布局。我想让布局在放纵时做出反应。我添加了一个线性布局作为相对布局的最后一个子元素,它覆盖了整个屏幕,然后我在其中添加了onTouch以获得乐趣。问题是它永远不会到达按钮上的onclick侦听器(在线性布局下),但是当我让touch侦听器返回false时,我的按钮被调用,但fling没有。如何获得这两个事件

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

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:src="@drawable/img_calendar" />

<ImageView
    android:id="@+id/child"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_marginLeft="60dp"
    android:src="@drawable/img_child" />

<ImageView
    android:id="@+id/ball"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@id/child"
    android:layout_alignParentBottom="true"
    android:layout_marginLeft="250dp"
    android:src="@drawable/img_ball" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:src="@drawable/img_logo" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:src="@drawable/img_logo_second" />

<ImageView
    android:id="@+id/info"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_margin="10dp"
    android:src="@drawable/ic_information" />

<LinearLayout
    android:id="@+id/linear" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:background="@android:color/transparent"
    ></LinearLayout>

猛扔什么狂欢?你的意思是
手势检测器.OnGestureListener#onFling
?如果是这样,没有人能看到您的代码…现在您可以看到@pskinkadd一些日志代码在
onTouch
中,并看到它何时被称为SingleTap/doubletap不工作我已经尝试过了。
public class GestureListener extends Activity{

    OnTouchListener toach_listener_cell = new OnTouchListener() {
        int id = 0;
        View v = null;
        View previous_for_singleTap_View = null;
        GestureDetector gestureDetector = new GestureDetector(getApplication(),
                new GestureDetector.SimpleOnGestureListener() {
                    @Override
                    public boolean onDoubleTap(MotionEvent e) {
                         Toast.makeText(GestureListener.this, "DoubleTap",
                         Toast.LENGTH_LONG).show();
                        return super.onDoubleTap(e);

                    }

                    @Override
                    public boolean onSingleTapConfirmed(MotionEvent e) {
                         if(v.getId()==R.id.info)
                             test();
                         else if(v.getId()==R.id.linear)
                         Toast.makeText(GestureListener.this,
                         "singleLn", Toast.LENGTH_LONG).show();
                        return false;
                    }

                    @Override
                    public void onLongPress(MotionEvent e) {
                        /* Toast.makeText(GestureListener.this,
                         "onLongPress", Toast.LENGTH_LONG).show();*/

                    }
                    @Override
                    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {

                        return false;
                    };
                });

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
            id = v.getId();
            this.v = v;
            gestureDetector.onTouchEvent(event);
            return false;
        }
    };
    LinearLayout check;

    public void test(){
        Toast.makeText(GestureListener.this,
                 "info", Toast.LENGTH_LONG).show();
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_screen);
        check=(LinearLayout) findViewById(R.id.linear);

        ImageView info=(ImageView) findViewById(R.id.info);

        check.setOnTouchListener(toach_listener_cell);
        info.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                test();
            }
        });
    }

}