我的Java代码引用我的XML按钮时出错

时间:2014-05-26 09:33:17

标签: java android xml eclipse

当我尝试将我的Java链接到我的XML时,计算机似乎没有拿起我的按钮的XML ID,这里是java代码:

package com.android.simple;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

int counter;
Button add;
Button sub;
TextView display;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    counter = 0;
    add = (Button) findViewById(R.layout.bAdd);
}
}

XML代码,如您所见,按钮的id保存为bAdd,因此它也在java代码中调用:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${packageName}.${activityClass}" >

     <Button
         android:layout_width="200dp"
         android:layout_height="50dp"
         android:layout_below="@+id/tvDisplay"
         android:layout_centerHorizontal="true"
         android:layout_marginTop="149dp"
         android:text="Subtract one" 
         android:id="@+id/bSub"
         />

     <Button
         android:layout_width="200dp"
         android:layout_height="50dp"
         android:layout_alignBottom="@+id/bSub"
         android:layout_alignLeft="@+id/bSub"
         android:layout_marginBottom="67dp"
         android:text="Add one" 
         android:id="@+id/bAdd"
         />

     <TextView
         android:layout_width="100dp"
         android:layout_height="20dp"
         android:layout_alignParentTop="true"
         android:layout_centerHorizontal="true"
         android:layout_marginTop="36dp"
         android:layout_weight="0.00"
         android:text="Your total is 0 " 
         android:id="@+id/tvDisplay"
         />

</RelativeLayout>

2 个答案:

答案 0 :(得分:4)

更改此

add = (Button) findViewById(R.layout.bAdd);

add = (Button) findViewById(R.id.bAdd);

答案 1 :(得分:1)

更改此行

 add = (Button) findViewById(R.layout.bAdd);

到这个

 add = (Button) findViewById(R.id.bAdd);