在我的应用程序中,我在视图顶部有3个radiobuttons。当我选择一个时,下面的'body'会改变我定义的XML视图。
(如果您想了解更多信息+图片,我之前提出了一个问题:Dynamically change view inside view in Android)
现在我想从不同的视图中调用和更改按钮的文本和edittext。
当我btnAutopech = (Button) findViewById(R.id.btnAutopech);
时,它会产生NullPointerException。
我该怎么做?
答案 0 :(得分:1)
取决于您如何解决与之关联的最后一个问题。如果您想要更改要更改的区域的新视图,那么您将无法使用finViewById检索对它们的引用。即他们实际上并不存在。
当您重新显示要在其中显示文本的视图时,在其他视图结果上,您必须在重新附加/显示视图时重新分配文本。然后,您可以从类的成员变量中分配文本,也可以从sharedPreferences或contentProvider分配文本。
另外,这种方式取决于您如何解决原始问题的问题以及何时附加/删除您的观点。
夏天:
看起来您在访问其他视图时删除了其他视图,因此请将数据存储在一个仍然存在的成员变量中。
答案 1 :(得分:1)
试试这个.......
LayoutInflater layoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout ll= new LinearLayout(context);
ll=(LinearLayout)layoutInflater.inflate(R.layout.gegevens_verzekeringen, ll);
btnAutopech = (Button) ll.findViewById(R.id.btnAutopech);
感谢.........