findViewById(R.id.bAdd)错误

时间:2013-12-29 15:54:05

标签: java android

我正在尝试学习Android应用程序开发,我非常关注 有人可以告诉我,我在这里做错了什么? 在我的MainActivity.java中,我在添加,子和显示上出现错误(bAdd / bSubb / display无法解析或不是字段)

public class MainActivity extends Activity {

int counter;
Button add, sub;
TextView display;
   @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    counter = 0;
    add = (Button) findViewById(R.id.bAdd);
    sub = (Button) findViewById(R.id.bSub);
    display = (TextView) findViewById(R.id.tvDisplay);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

activity_main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >


    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Your total is 0" 
        android:textSize="45sp"
        android:layout_gravity="center"
        android:gravity="center"
        android:id="@+id/tvDisplay"/>

    <Button
        android:layout-width="250dp"
        android:layout_height="wrap_content"
        android:onClick="Add one"
        android:text="Add one"
        android:layout_gravity="center"
        android:textSize="20dp"
        android:id="@+id/bAdd" />

    <Button
        android:layout-width="250dp"
        android:layout_height="wrap_content"
        android:onClick="Add one"
        android:text="Subtract one"
        android:layout_gravity="center"
        android:textSize="20dp"
        android:id="@+id/bSub" />
</LinearLayout>

5 个答案:

答案 0 :(得分:3)

更改此

 <Button
android:layout-width="250dp"

<Button
android:layout_width="250dp" // _

textview和按钮相同。

如果资源文件中有错误,则不会生成导致错误的java。

答案 1 :(得分:1)

保存xml并重新检查:) 如果你给了相同的id名称,它肯定会被解决。

答案 2 :(得分:1)

  <Button
    android:layout-width="250dp"
    android:layout_height="wrap_content"
    android:onClick="Add one"
    android:text="Add one"
    android:layout_gravity="center"
    android:textSize="20dp"
    android:id="@+id/bAdd" />

<Button
    android:layout-width="250dp"
    android:layout_height="wrap_content"
    android:onClick="Add one"
    android:text="Subtract one"
    android:layout_gravity="center"
    android:textSize="20dp"
    android:id="@+id/bSub" />

layout_width属性中有 -

其次,我想提请您注意onClick属性。您已经通过名称定义了onClick函数: - 添加一个

您不能在函数名称中包含空格。

答案 3 :(得分:0)

我遇到同样的问题,要解决这个问题,请在下面做:

a)保存activity_main.xml文件。 b)如果您仍然遇到问题,只需删除“gen”目录中的R.java文件。

答案 4 :(得分:0)

我有同样的问题并想出来了。将tvDisplay更改为您在xml文件中命名的任何内容。

当我这样做时我的工作:         display =(TextView)findViewById(R.id.textView1);