public class CustomAdapter extends BaseAdapter {
public class ListContents{
String msg;
int type;
ListContents(String _msg,int _type)
{
this.msg = _msg;
this.type = _type;
}
}
ArrayList<ListContents> m_List;
CustomAdapter(){
m_List = new ArrayList<ListContents>();
}
public void add(String _msg, int _type){
m_List.add(new ListContents(_msg, _type));
}
public void remove(int _position){
m_List.remove(_position);
}
@Override
public int getCount() {
return m_List.size();
}
@Override
public Object getItem(int position) {
return m_List.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int pos = position;
final Context context =parent.getContext();
TextView text = null;
CustomHolder holder = null;
LinearLayout layout = null;
View viewRight = null;
View viewLeft = null;
if(convertView == null){
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.custom_list, parent, false);
layout = (LinearLayout)convertView.findViewById(R.id.layout);
text = (TextView)convertView.findViewById(R.id.text);
viewRight = (View) convertView.findViewById(R.id.imageViewright);
viewLeft = (View) convertView.findViewById(R.id.imageViewleft);
holder = new CustomHolder();
holder.m_TextView = text;
holder.layout = layout;
convertView.setTag(holder);
}else{
holder = (CustomHolder) convertView.getTag();
text = holder.m_TextView;
layout = holder.layout;
viewRight = holder.viewRight;
viewLeft = holder.viewLeft;
}
text.setText(m_List.get(position).msg);
if(m_List.get(position).type == 0){
text.setBackgroundResource(R.drawable.inbox2);
layout.setGravity(Gravity.LEFT);
viewLeft.setVisibility(View.GONE);
viewRight.setVisibility(View.GONE);
}else if(m_List.get(position).type == 1){
text.setBackgroundResource(R.drawable.outbox2);
layout.setGravity(Gravity.RIGHT);
viewLeft.setVisibility(View.GONE);
viewRight.setVisibility(View.GONE);
}else if(m_List.get(position).type == 2){
text.setBackgroundResource(R.drawable.datebg);
layout.setGravity(Gravity.CENTER);
viewLeft.setVisibility(View.GONE);
viewRight.setVisibility(View.GONE);
}
return convertView;
}
private class CustomHolder {
TextView m_TextView;
LinearLayout layout;
View viewRight;
View viewLeft;
}
}
커스텀 리스트뷰 사용하는데
스크롤을 끝까지내리면 팅겨버리네요 왜이럴까요 ㅜㅜ