레이아웃에서보기를 추가 및 삭제하려면 어떻게합니까?
답변
나는 그렇게했다 :
((ViewManager)entry.getParent()).removeView(entry);
답변
ViewStub을 사용하고 전환하려는보기의 레이아웃을 지정합니다. 보기 :
mViewStub.setVisibility(View.VISIBLE) or mViewStub.inflate();
사라합니다:
mViewStub.setVisibility(View.GONE);
답변
이것이 가장 좋은 방법입니다
LinearLayout lp = new LinearLayout(this);
lp.addView(new Button(this));
lp.addView(new ImageButton(this));
// Now remove them
lp.removeViewAt(0); // and so on
xml 레이아웃이 있으면 동적으로 추가 할 필요가 없습니다.
lp.removeViewAt(0);
답변
레이아웃에 뷰를 추가하려면 클래스의 addView
메서드를 사용할 수 있습니다 ViewGroup
. 예를 들면
TextView view = new TextView(getActivity());
view.setText("Hello World");
ViewGroup Layout = (LinearLayout) getActivity().findViewById(R.id.my_layout);
layout.addView(view);
또한 많은 제거 방법이 있습니다. ViewGroup 문서를 확인하십시오 . 레이아웃에서보기를 제거하는 간단한 방법은 다음과 같습니다.
layout.removeAllViews(); // then you will end up having a clean fresh layout
답변
가시성을 변경하려면 :
predictbtn.setVisibility(View.INVISIBLE);
제거 :
predictbtn.setVisibility(View.GONE);
답변
Sameer와 Abel Terefe의 위대한 anwser. 그러나보기를 제거 할 때 내 옵션에서 특정 ID를 가진보기를 제거하고 싶습니다. 방법은 다음과 같습니다.
1, 뷰를 만들 때 ID를 제공하십시오.
_textView.setId(index);
2, ID가있는보기를 제거하십시오.
removeView(findViewById(index));
답변
addView 또는 removeView를 사용할 수 있습니다.
자바:
// Root Layout
LinearLayout linearLayout = new LinearLayout(context);
linearLayout.setGravity(Gravity.CENTER);
linearLayout.setOrientation(LinearLayout.VERTICAL);
// TextView
TextView textView = new TextView(context);
textView.setText("Sample");
// Add TextView in LinearLayout
linearLayout.addView(textView);
// Remove TextView from LinearLayout
linearLayout.removeView(textView);
코 틀린 :
// Root Layout
val linearLayout = LinearLayout(context)
linearLayout.gravity = Gravity.CENTER
linearLayout.orientation = LinearLayout.VERTICAL
// TextView
val textView = TextView(context)
textView.text = "Sample"
// Add TextView in LinearLayout
linearLayout.addView(textView)
// Remove TextView from LinearLayout
linearLayout.removeView(textView)