0

我是编写 Android 应用程序的菜鸟。
以下 2 个关于声明按钮的示例均来自 Android 开发者网站。(所以它们都应该是正确的并且可以工作。)

示例 1:来自http://developer.android.com/training/basics/firstapp/building-ui.html

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage" />

示例 2:来自http://developer.android.com/guide/topics/ui/declaring-layout.html#attributes

<--! (In xml file) Define a view/widget in the layout file and assign it a unique ID: -->
<Button android:id="@+id/my_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/my_button_text"/>


//(In java file) Then create an instance of the view object and capture it from the layout (typically in the onCreate() method):
Button myButton = (Button) findViewById(R.id.my_button);

1)那么我什么时候想为我的按钮分配“Android:id”?

2) 如果我在 xml 文件中为我的按钮分配了 "Android:id" 但我没有在 "MainActivity.java" 的 "onCreate()" 中声明按钮,会发生什么?

4

2 回答 2

1

Android:id 只是您的元素的标识符,在您的情况下是 Button。如果你没有在 onCreate 方法中使用它,它不会做任何事情。当您为 Button 创建任何侦听器时,Id 将很有用。即,告诉您单击它时要做什么。

你会使用这样的东西。

        Button button = (Button) findViewById(R.id.button1);

        button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                // TODO Auto-generated method stub
            }
        });
于 2013-01-25T10:04:09.977 回答
0

让我们快速回顾一些事情。

android:id 正是它听起来的样子,它是用于指定某些视图的标识。例如,假设您在一个布局上有两个按钮,并且您希望这些按钮执行某些操作,或者您可能只想更改按钮的文本。您需要在 Activity onCreate 方法中初始化按钮,以便通过代码对它们进行处理。id 用于区分视图。在我们的两个按钮示例中,您可以为一个按钮提供 buttonOne 的 id 和另一个 buttonTwo。这样,当您在代码中引用它们时,Android 就知道您在谈论哪个按钮。如果您在 XML 中为按钮分配 id 并且不在代码中引用它,那么按钮将什么也不做。如果您需要更多关于初始化视图的信息,而不是查看我网站上的这篇文章。我'

http://www.androidianlabs.com/android-basics-lesson-one.html

于 2012-11-30T05:36:14.117 回答