gpt4 book ai didi

java - 从 R.ID 接收微调器给出 NullPointerException

转载 作者:行者123 更新时间:2023-12-01 14:47:32 25 4
gpt4 key购买 nike

我正在尝试访问布局中的微调器,并从 arrays.xml 文件中的数组为其设置值。我正在使用 Spinner 上设置值的默认实现,但我收到了 NullPointerException,而且我一生都无法意识到原因。我的代码如下:

public class NewSandwich extends Activity {

private Spinner breadtype;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

SetupLayout();
setContentView(R.layout.activity_new_sandwich);
}

private void SetupLayout() {
breadtype = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.breadTypes,
android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

breadtype.setAdapter(adapter);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_new_sandwich, menu);
return true;
}
}

我的旋转器 XML 如下:

<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />

现在,我从旋转器中得到一个 NullPointerException (我通过测试输出进行调试发现了这一点),但我不明白到底为什么。我以前曾经这样做过,而且以前从未遇到过异常(exception)。

最佳答案

SetupLayout() 之前先调用 setContentView(R.layout.activity_new_sandwich) 因为您的布局需要加载,以便您可以引用您的 Spinner

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);


setContentView(R.layout.activity_new_sandwich);
SetupLayout();
}

关于java - 从 R.ID 接收微调器给出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15267953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com