在选项卡式活动上添加按钮

时间:2017-03-13 11:42:16

标签: android android-fragments button android-tabbed-activity

enter image description here

您好。

我有标签活动,我的项目中有10个片段,我在片段1中添加了“添加按钮”按钮。当我点击此按钮时,新按钮创建了线性布局。好的,但我有问题这个例子,如果我去不同的标签,我的按钮将被删除。为什么会发生这种情况?我该如何解决这个问题?

谢谢:)

我的“添加按钮”代码;

public void AddButton(View page){    
       LinearLayout Lay = (LinearLayout) findViewById(R.id.mylayout);    
       Button but = new Button(getApplicationContext());
       but.setText("" + myVec2.size());
       myVec2.add(but);
       mylayout.addView(but);      
   }

3 个答案:

答案 0 :(得分:0)

如果该列表不是空的,则需要一个包含Fragment和onCreateView上按钮的列表来重新创建这些按钮。

答案 1 :(得分:0)

您需要保存按钮onPause() 并在onResume()

中重新创建

答案 2 :(得分:0)

  1. 保存变量中的按钮数量并将其放入OnSaveInstanceState
  2. 在numButtons变量的onCreateView中恢复它。
  3. 如果变量是> 0,在视图中添加按钮。
  4. 在按钮OnClick中,每当按下添加按钮时都执行numButton ++。

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)
    
            if (savedInstanceState != null) {
               numButtons = savedInstanceState.getInt(Statics.NUMBER_BUTTONS);
            } else {
               numButtons = 0;
            }
    
           if (numButtons > 0)
              for (int i = 0; i < numButtons; i++) {
           / ** Your Add Button Code ** /
           }
       }
    
       @Override
       public void onSaveInstanceState(Bundle outState) {
           outState.putInt(Statics.NUMBER_BUTTONS, numButtons);
           super.onSaveInstanceState(outState);
       }