Android开发:id无法解析或不是字段

时间:2012-06-04 17:58:58

标签: android r.java-file

所以我刚刚开始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>

2 个答案:

答案 0 :(得分:3)

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

希望这会有所帮助。我绝对建议你阅读这个 - &gt; http://developer.android.com/guide/topics/ui/declaring-layout.html

答案 1 :(得分:2)

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

由于