Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.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 未引发sony smartwatch 2点击事件_Android_Sony_Sony Smartwatch - Fatal编程技术网

Android 未引发sony smartwatch 2点击事件

Android 未引发sony smartwatch 2点击事件,android,sony,sony-smartwatch,Android,Sony,Sony Smartwatch,我猜这只是我做了一些有点愚蠢的事情。我的布局文件中有一堆文本视图,我正在使用它们创建数字键盘。它们是0-9,如下所示: <TextView android:id="@+id/pad_number_7" android:text="@string/pad_number_text_7" style="@style/pad_button" /> mLayout = parseLayout(((LayoutInflater)mContext.getSystemService("layout

我猜这只是我做了一些有点愚蠢的事情。我的布局文件中有一堆文本视图,我正在使用它们创建数字键盘。它们是0-9,如下所示:

<TextView android:id="@+id/pad_number_7" android:text="@string/pad_number_text_7" style="@style/pad_button" />
mLayout = parseLayout(((LayoutInflater)mContext.getSystemService("layout_inflater")).inflate(R.layout.pad_layout, null));
if (mLayout != null)
{
    Log.d("DK", "Adding event for button 7");
    ControlView controlview = mLayout.findViewById(R.id.pad_number_7);
    controlview.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(){
            Log.d("DK", "Button 7 clicked");
            sendResult("7");
        }
    });
}
我的简历显示了布局:

@Override
public void onResume() {
    showLayout(R.layout.pad_layout, null);
}

但从未创建日志条目,也没有调用sendResult。有人知道为什么我的点击事件没有触发吗?当显示日志第一个日志条目时,连接事件的调用确实发生了,我已尝试将对wireUpButtons()的调用移动到onResume函数(在showLayout调用之前和之后),但没有任何更改。

确定我意识到我缺少将click事件传递给处理程序的OnObject click方法:

@Override
public void onObjectClick(final ControlObjectClickEvent event) {
    if (event.getLayoutReference() != -1) {
        mLayout.onClick(event.getLayoutReference());
    }
}

添加此方法后,现在一切正常了

OK,我意识到我缺少了将单击事件传递给处理程序的onObjectClick方法:@Override public void onObjectClick(final ControlObjectClickEvent事件){if(event.getLayoutReference()!=-1){mLayout.onClick(event.getLayoutReference());}添加此方法后,现在一切正常。您可能希望将其作为答案,以便其他人找到它。
@Override
public void onObjectClick(final ControlObjectClickEvent event) {
    if (event.getLayoutReference() != -1) {
        mLayout.onClick(event.getLayoutReference());
    }
}