【问题标题】:Add button on tabbed activity在选项卡式活动上添加按钮
【发布时间】:2017-03-13 11:42:15
【问题描述】:

嗨。

我有选项卡式活动,我的项目中有 10 个片段,我在片段 1 中添加了“添加按钮”按钮。当我单击此按钮时,新按钮已在线性布局中创建。没问题,但之后我遇到了问题this.for example,如果我转到不同的选项卡,我的按钮将被删除。为什么会这样?我该如何解决这个问题?

谢谢:)

我的“添加按钮”代码;

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);      
   }

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您需要保存按钮onPause() 并在onResume() 中重新创建

      【讨论】:

      【解决方案3】:
      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);
           }
        

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多