java - 为什么这段代码会给我一个空指针异常?

标签 java android

public class FindBeerActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_find_beer);
    }
    Spinner color = (Spinner) findViewById(R.id.color);
    TextView brands = (TextView) findViewById(R.id.brands);


    public void onClickFindBeer(View view) {

        //Get the selected item in the spinner
        String beerType = String.valueOf(color.getSelectedItem());

        //Display the selected item
        brands.setText(beerType);
    }
}

我知道如果我移动findviewbyid进入onclick方法,代码将运行良好,但我想了解为什么即使 setContentView 已被调用,它也不会以这种方式工作。

最佳答案

也许您放错了右大括号的位置。这应该可以修复你的 NPE。

public class FindBeerActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_find_beer);
        Spinner color = (Spinner) findViewById(R.id.color);
        TextView brands = (TextView) findViewById(R.id.brands);
    }

    public void onClickFindBeer(View view) {
        //Get the selected item in the spinner
        String beerType = String.valueOf(color.getSelectedItem());
        //Display the selected item
        brands.setText(beerType);
    }
}

关于java - 为什么这段代码会给我一个空指针异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49019493/

相关文章:

java - 如何使用 OpenCV 访问两个图像中的每个像素并找到它们的绝对差异? (安卓工作室)

android - Android 中的是/否警报对话框

java - 如何将闭包从 groovy 导入到 java?

java - 可以将整数值赋给 char,但不能将整型变量赋给 char

java - 从java程序运行linux命令txl

android sdk实时录音

android - iFrame allowFullScreen 属性在 Android WebView 上不起作用

java - 关闭 BoneCP 中的连接

java - 动态实例化嵌套在抽象类中的内部类

android - 动态创建的复选框监听器不起作用