반응형
활동하지 않는 곳에 getLayoutInflater() 호출
어떤 것을 가져와야 하거나 활동 이외의 장소에서 레이아웃을 어떻게 호출할 수 있습니까?
public static void method(Context context){
//this doesn't work the getLayoutInflater method could not be found
LayoutInflater inflater = getLayoutInflater();
// this also doesn't work
LayoutInflater inflater = context.getLayoutInflater();
}
전화할 수 있습니다.getLayoutInflater
활동 중에만, 그것이 제한입니까?사용자 지정 대화 상자를 만들고 해당 대화 상자에 대한 보기를 부풀리고 싶거나 서비스에서 표시되는 사용자 지정 보기가 포함된 토스트 메시지를 사용하려면 작업이 없고 사용자 지정 메시지를 표시하려면 어떻게 해야 합니까?
활동 클래스에 없는 코드에 있는 인플레이터가 필요합니다.
이거 어떻게 해요?
이 외부 활동을 사용할 수 있습니다. 필요한 것은 다음과 같습니다.Context
:
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
그런 다음 다른 위젯을 검색하려면 레이아웃을 부풀립니다.
View view = inflater.inflate( R.layout.myNewInflatedLayout, null );
Button myButton = (Button) view.findViewById( R.id.myButton );
2014년 7월 기준 편집
데이비데의 답변을 통해LayoutInflater
사실은 제 것보다 더 정확합니다. (그래도 여전히 유효합니다.)
아니면...
LayoutInflater inflater = LayoutInflater.from(context);
아니면
View.inflate(context, layout, parent)
컨텍스트 개체를 사용하면 다음 코드에서 LayoutInflater를 얻을 수 있습니다.
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LayoutInflater.from(context).inflate(R.layout.row_payment_gateway_item, null);
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
대신 이것을 사용하세요!
언급URL : https://stackoverflow.com/questions/7803771/call-getlayoutinflater-in-places-not-in-activity
반응형
'programing' 카테고리의 다른 글
MySQL 쿼리, MAX() + GROUP BY (0) | 2023.09.13 |
---|---|
VBA, PDF를 하나의 PDF 파일로 결합 (0) | 2023.09.08 |
MariaDB 루프가 쿼리 결과를 표시하지 않음 (0) | 2023.09.08 |
서버에서 ASP.NET 파일 다운로드 (0) | 2023.09.08 |
간단한 Android Recycler보기 보기 (0) | 2023.09.08 |