0

enter image description here탭 활동에 버튼 추가

안녕하세요.

나는 활동이 탭되어 있고, 내 프로젝트에 10 조각이 있는데 조각에 1. "단추 추가"단추를 추가했습니다.이 단추를 클릭하면 새 단추가 선형 layout.İts에서 생성되었지만 문제가 있습니다. 다른 탭으로 가면 내 버튼이 지워질거야. 왜 이러는거야? 이 문제를 어떻게 해결할 수 있습니까?

감사 :

내 "버튼 추가"코드;

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

답변

0

단편과 onCreateView의 단추가있는 목록이 비어 있지 않은 경우 해당 단추를 다시 작성해야합니다.

0

당신은 onResume()

+0

어떻게 onPause 또는 onResume을 사용할 수 있습니까? – metomero

+0

이 답변보기 http://stackoverflow.com/questions/15313598/once-for-all-how-to-correctly-save-instance-state-of-fragments-in-back-stack – medbenjemaa

0
  1. 에있는 버튼 onPause() 하고 다시 저장 변수에 버튼의 수를 저장하고 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); 
        } 
    
관련 문제