2013-11-28 2 views
0

안녕하세요 저는 두 개의 버튼을 추가하고 제거하는 레이아웃을 만들었습니다. 플러스 버튼을 클릭하면 프로 그래머를 추가하고 다른 버튼 (제거)을 추가 할 것입니다. 사진에서 볼 수 있습니다. 이제는 제거 버튼을 클릭하면 마지막으로 회 전자가 삭제됩니다. 안내해주십시오. 어떻게 회 전자를 삭제할 수 있습니까? 나는 회 전자를 프로 그램에 추가하고 프로 그램을 프로 그램으로 생성합니다. 내 코드를 게시 할게. enter image description here동적으로 회 전자 추가 및 제거

public class AddMenulist extends Fragment{ 

    TextView tv1,tv2,tv3,tv4; 
    Button bt1 , bt2; 
    LinearLayout linearlayout,linearlayout1; 

    ArrayList<String> spinnerArray = new ArrayList<String>(); 
    private Spinner spinner; 
    private Spinner spinner2; 

    public AddMenulist(){ 

    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     View rootView = inflater.inflate(R.layout.fragment_pages, container, false); 

     tv1 = (TextView)rootView.findViewById(R.id.userName); 
     tv2 = (TextView)rootView.findViewById(R.id.userName2); 

     bt1 = (Button)rootView.findViewById(R.id.add); 
     bt2 = (Button)rootView.findViewById(R.id.delete); 

     linearlayout = (LinearLayout)rootView.findViewById(R.id.main_layout); 

     spinnerArray.add("one"); 
     spinnerArray.add("two"); 
     spinnerArray.add("three"); 
     spinnerArray.add("four"); 
     spinnerArray.add("five"); 

     bt1.setOnClickListener(new View.OnClickListener() 
     { 




      @Override 
      public void onClick(View view) 
      { 

       //Toast.makeText(getActivity(), "Test", Toast.LENGTH_LONG).show(); 

       linearlayout1 = new LinearLayout(getActivity()); 
       LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
       linearlayout1.setOrientation(LinearLayout.HORIZONTAL); 
       layoutParams.setMargins(10, 0, 0, 0); 
       linearlayout1.setLayoutParams(layoutParams); 


       tv3 = new TextView(getActivity()); 
       tv3.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL); 
       tv3.setText("Label"); 

       tv4 = new TextView(getActivity()); 
       tv4.setText("Category"); 




       spinner = new Spinner(getActivity()); 
       ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item, spinnerArray); 

       spinner.setAdapter(spinnerArrayAdapter); 

       spinner2 = new Spinner(getActivity()); 
       ArrayAdapter<String> spinnerArrayAdapter2 = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item, spinnerArray); 

       spinner2.setAdapter(spinnerArrayAdapter2); 

       linearlayout1.addView(tv3); 
       linearlayout1.addView(spinner); 

       linearlayout1.addView(tv4); 
       linearlayout1.addView(spinner2); 
       linearlayout.addView(linearlayout1); 


      } 
     }); 

     bt2.setOnClickListener(new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View view) 
      { 

       //Toast.makeText(getActivity(), "Test", Toast.LENGTH_LONG).show(); 


      } 
     }); 


     return rootView; 
    } 


} 
+0

제거 된 기능을 시도하지 않으셨습니까? 아니면 현재 처음부터 제거 했습니까? –

+0

이것을 시도해보십시오 :'linearlayout1.removeView (view)' –

+0

괜찮습니다. – Achin

답변

0

사용이 yourSpinner.setVisibility (View.GONE);

+0

이 linearlayout1.removeView (view)를 사용했으나 작동 중이지만 마지막 스피너와 두 개의 레이블 만 제거하고 있습니다. 두 개의 스피너와 두 개의 텍스트 뷰를 하나씩 제거하고 싶습니다. 마지막 두 개를 제거합니다. 라벨 및 마지막 두 회 전자. 나는이 코드를 사용했다. linearlayout1.removeView (회 전자); linearlayout1.removeView (tv3); linearlayout1.removeView (spinner2); linearlayout1.removeView (tv4); – Achin

+0

뭘하고 싶니? 처음 두 개의 스피너와 텍스트 뷰 또는 마지막 것을 제거 하시겠습니까?. 하나 하나씩 무엇을 의미합니까? 설명해주십시오. –

+0

나는 선형 레이아웃에서 라벨과 스피너를 수평으로 다시 배치했습니다. 코드 및 그림. 내가 단추를 제거하기 위해 클릭 할 때 두 개의 텍스트보기를 제거하고 두 개의 스피너를 마지막으로 구입 한 코드에서이 코드를 사용했지만 두 개의 텍스트보기와 두 개의 스피너를 수평으로 제거했습니다. linearlayout1.removeView (회 전자); \t \t linearlayout1.removeView (tv3); \t \t linearlayout1.removeView (spinner2); \t \t linearlayout1.removeView (tv4); – Achin