我可以使用 android:onClick 按钮属性调用方法名称 "onClick" 或 "onclick" 吗?
Can i call method name "onClick" or "onclick" using android:onClick button attribute?
Xml 文件:
<RelativeLayout
xmlns:android="http:// schemas.android.com/apk/res/android"
xmlns:app="http:// schemas.android.com/apk/res-auto"
xmlns:tools="http:// schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.sample.MainActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button_send"
android:onClick="onClick"/>
</RelativeLayout>
Java 文件:
MainActivity.java:
public class MainActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClick(View view)
{
switch (view.getId()) {
case R.id.button_send:
// Do something
}
}
}
那么我可以使用 android:onClick 属性调用名为“onClick”或“onclick”的方法吗?
这个方法究竟是如何工作的?
当然可以。在 XML 文件中,android:onClick="onClick" 表示单击按钮时应该 运行 的函数名称 'onClick'。由于您已经在 java 文件中定义了该函数,因此应该没有任何问题。
是的。
当用户单击按钮时,Button 对象会收到一个单击事件。
要定义按钮的单击事件处理程序,请将 android:onClick 属性添加到 XML 布局中的元素。此属性的值必须是您要调用以响应单击事件的方法的名称。承载布局的 Activity 必须实现相应的方法。
/** Called when the user touches the button */
public void sendMessage(View view) {
// Do something in response to button click
}
您在 android:onClick 属性中声明的方法必须具有如上所示的签名。具体来说,该方法必须:
- 成为public
- Return无效
- 将视图定义为其唯一参数(这将是被单击的视图)
来源:https://developer.android.com/guide/topics/ui/controls/button
可以。
创建一个任意名称的方法,并提供一个 View class 的对象作为形式参数。在此方法中编写您希望在用户单击按钮时执行的代码。
在设计 window 中,如果您单击所需的按钮,您将在右侧窗格中找到 onClick 选项。单击它旁边的下拉箭头,您可以看到按下按钮时可以调用的方法列表。 Select 所需的方法。或者,您可以直接在此处输入方法名称。
Xml 文件:
<RelativeLayout
xmlns:android="http:// schemas.android.com/apk/res/android"
xmlns:app="http:// schemas.android.com/apk/res-auto"
xmlns:tools="http:// schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.sample.MainActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button_send"
android:onClick="onClick"/>
</RelativeLayout>
Java 文件:
MainActivity.java:
public class MainActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClick(View view)
{
switch (view.getId()) {
case R.id.button_send:
// Do something
}
}
}
那么我可以使用 android:onClick 属性调用名为“onClick”或“onclick”的方法吗?
这个方法究竟是如何工作的?
当然可以。在 XML 文件中,android:onClick="onClick" 表示单击按钮时应该 运行 的函数名称 'onClick'。由于您已经在 java 文件中定义了该函数,因此应该没有任何问题。
是的。
当用户单击按钮时,Button 对象会收到一个单击事件。
要定义按钮的单击事件处理程序,请将 android:onClick 属性添加到 XML 布局中的元素。此属性的值必须是您要调用以响应单击事件的方法的名称。承载布局的 Activity 必须实现相应的方法。
/** Called when the user touches the button */
public void sendMessage(View view) {
// Do something in response to button click
}
您在 android:onClick 属性中声明的方法必须具有如上所示的签名。具体来说,该方法必须:
- 成为public
- Return无效
- 将视图定义为其唯一参数(这将是被单击的视图)
来源:https://developer.android.com/guide/topics/ui/controls/button
可以。 创建一个任意名称的方法,并提供一个 View class 的对象作为形式参数。在此方法中编写您希望在用户单击按钮时执行的代码。 在设计 window 中,如果您单击所需的按钮,您将在右侧窗格中找到 onClick 选项。单击它旁边的下拉箭头,您可以看到按下按钮时可以调用的方法列表。 Select 所需的方法。或者,您可以直接在此处输入方法名称。