我正在创建一个需要动态创建元素的应用程序。 我在onCreate()方法中使用以下代码。
TextView product = new TextView (this);
product.setText ("" + pName + "");
//Add TextView to LinearLayout
ll.addView (product);
工作正常,问题是当我转动手机时,项目出现重复。我做错了什么?
答案 0 :(得分:2)
当您旋转手机时,它会销毁活动并再次创建,但会保存所有要恢复的内容,onCreate()
方法会再次创建文本视图,尽管它们已经在视图中。
您应该在创建之前检查它们。
您可以通过检查savedInstanceState
来执行此操作,如果它不为空,则表示它正在重新创建。
if (savedInstanceState == null){
// create your textviews
}
答案 1 :(得分:1)
您正在以编程方式创建TextView
,当您关闭手机时,不会从布局中删除对象,因此每次创建活动时都会在布局中添加元素。您可以使用onDestroy()
方法对其进行控制。
我希望它有所帮助。