programing

활동하지 않는 곳에 getLayoutInflater() 호출

batch 2023. 9. 8. 21:19
반응형

활동하지 않는 곳에 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

반응형