重新启动应用程序时,动态生成的按钮不存在?

时间:2014-02-12 11:20:48

标签: android button dynamically-generated

我正在使用预定义的按钮动态添加新按钮 但是当我重新启动应用程序时,动态生成的按钮不会出现在创建它们的布局中。

生成按钮的代码。

if(v == btnaddnew)                          //Button to new buttons in layout Dynamically
{
    final Button btn1 = new Button(this);
    btn1.setText("New");
    btn1.setId(btncount);
    LinearLayout ll = (LinearLayout)findViewById(R.id.layout1);
    LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);       
    ll.addView(btn1, lp);
    btncount++;
}

在主要活动中

int btncount = 15;

1 个答案:

答案 0 :(得分:0)

每次关闭应用程序并重新启动它时,都会为您的Activity调用onCreate方法!我怀疑您正在加载基本layout.xml文件,您动态添加的按钮不是此布局的一部分,仅在您的代码中定义。我假设添加这些动态按钮的代码不在onCreate中,它们可能是一些按钮点击回调? 我的观点是,如果因上述原因关闭应用程序,动态添加的工件将不会出现!

如果要在关闭之后恢复到最后一个状态,则需要在为活动调用onDestroy方法之前找到存储当前布局的方法!可以在onCreate中重新加载此存储的布局。让我明确一下,在你的onCreate中你可以检查是否有存储的布局,如果是加载它!否则从布局文件中加载。

编辑:

看看这个:http://developer.android.com/guide/components/activities.html#SavingActivityState