Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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
Java setOnClickListener使我的wear应用程序崩溃_Java_Android_Onclicklistener_Wear Os - Fatal编程技术网

Java setOnClickListener使我的wear应用程序崩溃

Java setOnClickListener使我的wear应用程序崩溃,java,android,onclicklistener,wear-os,Java,Android,Onclicklistener,Wear Os,我已经为我的android手机制作了一个应用程序,通过树莓皮控制一辆机器人汽车。代码可以工作,但现在我正尝试将该应用程序移植到Android Wear应用程序。然而,当我尝试在我的Wear设备上运行应用程序时,它会在启动时崩溃。从错误日志中,它来自SetOnClickListeners。我应该如何修复这些错误?提前谢谢 编辑:logcat给出的错误是RuntimeException和NullPointerException 不确定是否有用: @SuppressLint("ClickableVie

我已经为我的android手机制作了一个应用程序,通过树莓皮控制一辆机器人汽车。代码可以工作,但现在我正尝试将该应用程序移植到Android Wear应用程序。然而,当我尝试在我的Wear设备上运行应用程序时,它会在启动时崩溃。从错误日志中,它来自SetOnClickListeners。我应该如何修复这些错误?提前谢谢

编辑:logcat给出的错误是RuntimeException和NullPointerException

不确定是否有用:

@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View v, MotionEvent event) {

    if ((R.id.buttonForward == v.getId())) {
        switch (event.getAction()) {

            case MotionEvent.ACTION_DOWN:
                socketCommand("forward");
                break;
            case MotionEvent.ACTION_UP:
                socketCommand("stop");
                break;
        }
    }

    else if ((R.id.buttonReverse == v.getId())) {
        switch (event.getAction()) {

            case MotionEvent.ACTION_DOWN:
                socketCommand("backwards");
                break;
            case MotionEvent.ACTION_UP:
                socketCommand("stop");
                break;
        }
    }

    else if ((R.id.buttonRight == v.getId())) {
        switch (event.getAction()) {

            case MotionEvent.ACTION_DOWN:
                socketCommand("right");
                break;
            case MotionEvent.ACTION_UP:
                socketCommand("stop");
                break;
        }
    }

    else if ((R.id.buttonLeft == v.getId())) {
        switch (event.getAction()) {

            case MotionEvent.ACTION_DOWN:
                socketCommand("left");
                break;
            case MotionEvent.ACTION_UP:
                socketCommand("stop");
                break;
        }
    }

    return false;
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.buttonConnect: {

            System.out.println("ONCLICK CONNECT");
            SocketConnect.connect();
            break;
        }
        case R.id.buttonDisconnect: {
            SocketConnect.closeConnection();
            break;
        }

    }
}

提前谢谢

您可能正在创建一个现有布局的版本,以满足Android wear设备的dpi要求,不是吗

我打赌在activity_main.xml文件中没有一个或多个具有这些指定ID的以下视图:

buttonConnect
buttonDisconnect
buttonReverse
buttonLeft
buttonForward
buttonRight

这将导致NullPointerException。

请将完整错误添加到问题完成中。NullPointerException我已经在rect_activity_main.xml中进行了布局,因为那将是我假定的屏幕。我让activity_main保持不变,并将WatchViewStub放在适当的位置。我在那里试试,谢谢!谢谢,我就这么做了!我的覆盆子正在编译一些东西,所以无法触摸功能!酷!如果有帮助,请接受我的回答。你好,MikeI不得不等了35秒,我的思绪被划清了。再次感谢C=
buttonConnect
buttonDisconnect
buttonReverse
buttonLeft
buttonForward
buttonRight