1

也许这听起来很傻,但我在 Button 关键字(不应该出现的地方)上遇到错误。我是新手,几乎到处都看过。每个人都这么说

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

是正确的。

我的代码:

package com.example.myfirstappnew;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

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

        Button b = findViewById(R.id.button1);
    }


    @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;
    }


}

这是屏幕截图: http: //pbrd.co/ZEsSw7

4

4 回答 4

3

据我所知,您有一个错误,因为 findViewById 返回View而不是Button,您需要将其转换为Button.

您需要将其Button转换为Button

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

并添加此导入:

import android.widget.Button;

下次,当你说你有错误时,请包括它:)

于 2013-03-18T19:22:44.427 回答
3

findViewById 返回 View,你需要将其转换为 Button。

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

编辑:

单击显示 i 的第一个链接mport import Button(android.widget.)

或直接按ctrl+shift+o

于 2013-03-18T19:23:51.020 回答
3

代码需要导入Button(如屏幕截图顶部提示中所建议的那样)。

于 2013-03-18T19:25:08.470 回答
1

首先你需要改变

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

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

您还需要添加

import java.widget.Button;

to your import statements at the top of your file. If you are using Eclipse, you should use it's "organize imports" feature (or whatever Eclipse calls it) to do this automagically for you.

于 2013-03-18T19:27:30.810 回答