Front-end/Android (안드로이드 앱 개발)
Android studio (안드로이드 스튜디오) AddView, inflater
javapp 자바앱
2020. 3. 1. 00:00
728x90
AddView
layoutInflater 를 통해 layout을 그려주고
addview 함수를 통해 view를 추가해준다.
Inflater
- item을 해당 layout(xml)에 그리는 역할
Layout File
- item 하나가 그려질 view
Item list
- 리스트 목록
Item
- 리스트 목록의 하나
public class MainActivity extends AppCompatActivity {
ArrayList<String> arrayList;
LayoutInflater layoutInflater;
LinearLayout container;
Context context;
View view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = this;
arrayList = new ArrayList();
arrayList.add("/// 1 ///");
arrayList.add("/// 2 ///");
container = findViewById(R.id.container); //메인 xml에
layoutInflater = LayoutInflater.from(this); //그리는 도구
for(int i = 0; i < arrayList.size(); i++)
{
//view에 아이템 그려준다.
view = layoutInflater.inflate(R.layout.layout_list_item,null,false);
TextView itemText = view.findViewById(R.id.item_textVIew);
itemText.setText(arrayList.get(i) );
container.addView(view);//메인에 view 를 추가
}
layoutInflater = LayoutInflater.from(this); //그리는 도구
view = layoutInflater.inflate(R.layout.layout_list_image,null,false);
ImageView imageView = view.findViewById(R.id.imageVIew);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"이미지 클릭",Toast.LENGTH_LONG).show();
}
});
container.addView((view));
}
}