답변:
this.getWindow().getDecorView().findViewById(android.R.id.content)
또는
this.findViewById(android.R.id.content)
또는
this.findViewById(android.R.id.content).getRootView()
setContentView(R.layout.my_view)
의 부모 를 반환합니다 .
레이아웃에 ID를 넣으면 다시 볼 수 있습니다.
<RelativeLayout
android:id="@+id/my_relative_layout_id"
그리고 findViewById에서 호출하십시오 ...
findViewById
합니까?
"isContentViewSet"메소드가 없습니다. 다음과 같이 setContentView 전에 try / catch 블록에 더미 requestWindowFeature 호출을 넣을 수 있습니다.
{ requestWindowFeature (Window.FEATURE_CONTEXT_MENU); setContentView (...) } catch (AndroidRuntimeException e) { // 아무것도하지 않거나 아무것도하지 않는다 }
컨텐츠 뷰가 이미 설정된 경우 requestWindowFeature에서 예외가 발생합니다.
내가 찾은 가장 좋은 옵션은 덜 침입 적입니다 .XML에서 태그 매개 변수를 설정하는 것입니다.
전화 XML 레이아웃
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="phone"/>
타블렛 XML 레이아웃
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="tablet">
...
</RelativeLayout>
그런 다음 활동 클래스에서 이것을 호출하십시오.
View viewPager = findViewById(R.id.pager);
Log.d(getClass().getSimpleName(), String.valueOf(viewPager.getTag()));
그것이 당신을 위해 작동하기를 바랍니다.
getWindow().findViewById(android.R.id.content)
:)