0

我刚刚安装了新的 Android Studio,在遵循 android 开发人员培训指南 ( http://developer.android.com/training/index.html ) 时遇到了一些麻烦。

每次我尝试编译我的代码时,我都会收到此错误“Gradle: No resource identifier found for attribute 'android.onClick' in package 'android'”

我最初的搜索导致我检查了我的 API 级别和 onClick 的大小写(这两个似乎都不是问题)((我也明白使用 onClick 不是最佳实践,但我现在只是按照指南进行操作))因为收到此错误,我尝试手动重新安装 gradle。有谁知道我的问题是什么?

另外,代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="horizontal" >
<EditText android:id="@+id/edit_message"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:hint="@+string/edit_message" />
<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_send"
        android:android.onClick="sendMessage" />
</LinearLayout>
4

3 回答 3

0

我建议不要以这种方式添加按钮单击侦听器。

Android中的按钮单击侦听器

查看此内容以获取更多详细信息。您可以找到大量有关如何添加按钮的资源。

一般来说,我发现通过代码而不是 XML 添加它们是一个好习惯

于 2013-05-17T16:52:09.237 回答
0

我同意 DArkO。我对 Android Studio 也有同样的问题。当我在我的代码上使用 OnClickListener 时,问题就消失了。

在 Activity.xml 上

<Button android:id="@+id/message_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_send"
        />

在 Activity.java 上

Button button = (Button) findViewById(R.id.message_button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                sendMessage();
            }
});
于 2013-06-13T22:45:58.247 回答
0

尝试 android:onClick="sendMessage"

在Activity中,实现方法public void sendMessage(View view);

您应该将 id 添加到您的视图小部件,并通过 id 识别这些视图。

于 2013-05-18T11:31:28.723 回答