java - 尝试将元素添加到视图时,Android Studio java.lang.NullPointerException
问题描述
我一直在尝试将相对布局添加到 android-studio 中滚动视图内的线性布局。
它一直给我一个错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.LinearLayout.addView(android.view.View)' on a null object reference
我想也许我不能将它添加到滚动视图中,因为布局太多了。所以我删除了所有内容并创建了一个小代码,如下所示:
public class ChildAccountsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.child_accounts_activity);
LinearLayout linearLayout = findViewById(R.id.accountHolder);
Button myButton = new Button(this);
myButton.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));
linearLayout.addView(myButton); <<--ERROR HERE
}
在这里,我只是想向线性布局添加一个按钮,但它一直给我上面提到的错误。
任何指导将不胜感激,请记住,我是编程新手,很可能不知道自己在做什么。谢谢你的时间:D
解决方案
我为不同的屏幕尺寸创建了多个布局,并且在引用时产生了问题。我通过删除所有额外的布局来修复它,但可能有更好的方法来解决这个问题。
推荐阅读
- python - re.findall 可能的变量名
- c++ - 我最近安装了代码块(Code :: Blocks IDE)但没有编译简单的测试程序
- spring-boot - 如何对文件是否从本地目录移动到 ActiveMQ 队列进行单元测试
- github - 如果推送另一个仓库,则触发 GitHub 操作
- c - 我的程序不计算元音。你能告诉我为什么吗?
- c++ - 如何使用 clang 11 编译 Windows API C++ 代码?
- wpf - app.xaml 中定义的样式仅适用于设计器,但不适用于运行时
- ruby-on-rails - 升级到 Rails 6.1.0 后 ActiveStorage::Blob 的未定义方法“service_name”
- python - 如何通过 websocket 将传入的 json 存储到 SQL 数据库
- c# - EF Core 拥有的类型不适用于加载数据,但可以用于保存