For developer/Android

(Android)inflate

프린이0218 2020. 5. 15. 11:10

Res->layout->new->xml->layout xml file

package com.example.my09_layoutinflate;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;

public class MainActivity extends AppCompatActivity {

    Button btnMain ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btnMain = findViewById(R.id.btnMain);
        btnMain.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                LinearLayout linear = findViewById(R.id.linear);
                RelativeLayout relative = findViewById(R.id.relative);

                LayoutInflater inflater =
                        (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

                inflater.inflate(R.layout.sub1_layout,linear,true);
                inflater.inflate(R.layout.sub2_layout,relative,true);

            }
        });
    }
}

 

 

getSystemService:안드로이드가 제공하는 메소드

LayoutInflater inflater =
                        (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);