1

所以我刚开始Android开发,我已经碰壁了。我一直在网上和这个网站上四处寻找,但似乎找不到适合我的答案。到目前为止,我在 Activity 文件中所写的内容如下。

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
public class CommanderActivity extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) 
  {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     final Button button = (Button) findViewById( R.id.button_id );
  }    
}

错误出现在代码的最后一行 ( R.id.button_id )。我的 XML 文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <TableRow>
    <Button 
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="@string/Parameters"
        android:onClick="openParameters" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="@string/Waves"
        android:onClick="openWaves" />
    </TableRow>
    <TableRow>
    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="@string/MoreParameters"
        android:onClick="openMoreParameters" />
    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="@string/Status"
        android:onClick="openStatus" />
    </TableRow>
    <TableRow>
    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="@string/Operations"
        android:onClick="openOperations" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="@string/Monitor"
        android:onClick="openMonitor" />
    </TableRow>
    <TableRow>
    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="@string/CEBus"
        android:onClick="openCEBus" />
    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="@string/Advanced"
        android:onClick="openAdvanced" />
    </TableRow>
</TableLayout>
</LinearLayout>
4

2 回答 2

3

只需将以下行添加到您的按钮android:id="@+id/my_button"
,然后在您的活动中,您可以使用该方法findViewById(R.id.my_button);

希望这可以帮助。我绝对建议您阅读此内容-> http://developer.android.com/guide/topics/ui/declaring-layout.html

于 2012-06-04T18:15:07.183 回答
2

您没有在 xml 文件中提供任何 ID。请在您的 xml 文件中提供 id,然后您的错误将得到解决。

谢谢

于 2012-06-04T18:06:17.953 回答