레이아웃에서보기를 추가 및 삭제하려면 어떻게합니까?
답변:
나는 그렇게했다 :
((ViewManager)entry.getParent()).removeView(entry);
(ViewGroup):)
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
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)
안녕 당신이 안드로이드를 처음 사용한다면이 방법을 사용하십시오.보기를 적용하여 사라지게하십시오. 그렇지 않으면 부모보기를 잡고 거기에서 자식을 제거하십시오 ..... 그렇지 않으면 부모 레이아웃을 가져 와서 이것을 사용하십시오. 모든 자식을 제거하는 메서드 parentView.remove (child)
나는 GONE 접근 방식을 사용하는 것이 좋습니다 ...
시작 및 계산 방법을 사용하여보기를 제거하고 있으며 선형 레이아웃에 3 개의보기를 추가했습니다.
view.removeViews (0, 3);
이 확장 추가 :
myView.removeSelf()
fun View?.removeSelf() {
this ?: return
val parent = parent as? ViewGroup ?: return
parent.removeView(this)
}
다음은 몇 가지 옵션입니다.
// Built-in
myViewGroup.addView(myView)
// Null-safe extension
fun ViewGroup?.addView(view: View?) {
this ?: return
view ?: return
addView(view)
}
// Reverse addition
myView.addTo(myViewGroup)
fun View?.addTo(parent: ViewGroup?) {
this ?: return
parent ?: return
parent.addView(this)
}