제가 xml 레이아웃 파일을 잡았는데, 그걸 이용해서 adapter 처리해서 addView 하는 방법을 몰라서 자바 코드로 구현을 하게 되었습니다.
*) 이거 방법 아시는 분 있으면 어떻게 하면 좋을 지 조언 부탁드려요 ㅠㅠ 힝..
Java 코드로는
onCreate 함수 위에 friends_layout (LinearLayout) 과 friends_item(LinearLayout)이 선언되어있어요.
friends_layout은 friends_item을 담을 큰 레이아웃이고, 둘다 horizontal 오리엔테이션 값을 가지고 있습니다.
제가 생각한건,
[ Kim melon X ] [Park Hero X ] [Soya Lee X ] (다음 view가 추가되기에 남은 공간이 부족하면 아래로 내려감)
[ Wori Jung X ]
이런 형태로, X 를 누르면 해당 View(friends_item)이 없어지게 하고 싶어요. 근데 이것도 동작을 안함
(Toast 띄워서 확인해보니까 Click 이벤트는 되는데, removeView가 작동을 안해요ㅠㅠ Logcat에도 별다른게 안찍히고..)
friends_layout = (LinearLayout)findViewById(R.id.layout_discovery_write_friends);
for (int i = 0; i < friendsList.size(); i++){
//배경 색이 #666666인 레이아웃을 생성하고, 그 안에 TextView(이름)와 ImageView(삭제버튼)을 넣어주려고 합니다.
friends_item = new LinearLayout(this);
friends_item.setOrientation(LinearLayout.HORIZONTAL);
friends_item.setBackgroundColor(Color.parseColor("#666666"));
//이름을 담고 있습니다. 첨부한 코드에는 없지만, friendsList라는 ArrayList 형으로 item이 8개정도 하드코딩되어있습니다.
//배경색이 어둡기 때문에 글자 색은 밝게 (#ffffff)로 조정을 했고, friends_item에 추가해주었습니다.
TextView name = new TextView(this);
name.setText(friendsList.get(i));
name.setTextColor(Color.parseColor("#ffffff"));
friends_item.addView(name);
//삭제버튼입니다. 이미지를 추가해줬고, onClick 이벤트를 주었습니다.
ImageView delete = new ImageView(this);
delete.setImageResource(R.drawable.ic_friendsname_delete_xhdpi);
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
friends_layout.removeView(friends_item); // 작동 안함 ㅠㅠ
Toast.makeText(Discovery_Write_Activity.this, "Delete Button Click!", Toast.LENGTH_SHORT).show();
}
});
friends_item.addView(delete);
friends_layout.addView(friends_item);
}
1. Linear layout을 horizontal로 쓰면, 가로가 다 차면 아래로 내려갈 줄 알았어요 ㅠㅠ 이거 어떻게 써야할까요...
2. Delete가 안먹습니다. 어떻게 하면 좋을까요? ㅠㅠ
3. java 코드 말고, 혹시 xml (layout)파일 이용해서도 하는 방법은.. 뭐라고 검색해야될까요?데헷?
조언부탁드립니당 선배님들..ㅠㅠ헝