반응형
/* 커스텀 리스트 뷰 생성 부분 */
public void setCustomList() {
// 리스트에 들어갈 값을 서버에서 얻음
ServerConnector servConn = new ServerConnector("General");
servConn.selectData();
sListData = new String[servConn.getSelectDataLength()][10];
sListData = servConn.getSelectData();
// 리스트를 한 행씩 생성
ArrayList<CustomListViewItem> arItem = new ArrayList<CustomListViewItem>();
for(int i=0; i<servConn.getSelectDataLength(); i++) {
arItem.add(new CustomListViewItem(
i+1,
sListData[i][1],
sListData[i][8],
sListData[i][9]
));
}
// 리스트를 액티비티에 띄우는 부분
CustomListViewHandler MyAdapter = new CustomListViewHandler(GeneralAchaListActivity.this, arItem, false);
lvAchaList = (ListView) findViewById(R.id.acha_list_list);
lvAchaList.setAdapter(MyAdapter);
lvAchaList.setOnItemClickListener(mItemClickedListener);
lvAchaList.setOnItemLongClickListener(mLongClickListener);
}
/* 커스텀 리스트뷰와 액티비티를 연결할 클래스 */
public class CustomListViewItem {
public CustomListViewItem(int index, String date, String contents,
String state) {
this.mIndex = index;
this.mDate = date;
this.mContents = contents;
this.mState = state;
}
public CustomListViewItem(int index, String date, String department,
String reporter, String state) {
this.mIndex = index;
this.mDate = date;
this.mDepartment = department;
this.mReporter = reporter;
this.mState = state;
}
int mIndex;
String mDate, mReporter, mContents, mDepartment, mState;
}
/**
* 커스텀 리스트뷰를 액티비티에 생성하는 클래스 - 사원과 생산지원
*/
public class CustomListViewHandler extends BaseAdapter {
LayoutInflater mInflater;
ArrayList arSrc;
boolean isManager;
public CustomListViewHandler(Context context, ArrayList arItem, boolean isManager) {
mInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
arSrc = arItem;
this.isManager = isManager;
}
public int getCount() {
return arSrc.size();
}
public CustomListViewItem getItem(int position) {
return arSrc.get(position);
}
public long getItemId(int position) {
return position;
}
// 커스텀 된 뷰를 불러와 실제로 화면에 뿌려줄 메소드
public View getView(int position, View convertView, ViewGroup parent) {
int res;
// 커스텀 리스트 뷰를 정의한 xml 파일 주소를 받아온다.
if(this.isManager) {
res = R.layout.acha_manager_list_contents;
// 주소를 받아온 뒤에 convertView로 전체 구성을 뿌려준다.
convertView = mInflater.inflate(res, parent, false);
// 인덱스 설정
TextView tvIndex = (TextView) convertView.findViewById(R.id.acha_manager_list_contents_index);
tvIndex.setText(""+arSrc.get(position).mIndex);
// 날짜 설정
TextView tvDate = (TextView) convertView.findViewById(R.id.acha_manager_list_contents_date);
tvDate.setText(arSrc.get(position).mDate);
// 부서 설정
TextView tvDepartment = (TextView) convertView.findViewById(R.id.acha_manager_list_contents_department);
tvDepartment.setText(arSrc.get(position).mContents);
// 부서 설정
TextView tvReporter = (TextView) convertView.findViewById(R.id.acha_manager_list_contents_reporter);
tvReporter.setText(arSrc.get(position).mContents);
// 상황 설정
TextView tvState = (TextView) convertView.findViewById(R.id.acha_manager_list_contents_state);
tvState.setText(arSrc.get(position).mState);
}
else {
res = R.layout.acha_list_contents;
// 주소를 받아온 뒤에 convertView로 전체 구성을 뿌려준다.
convertView = mInflater.inflate(res, parent, false);
// 인덱스 설정
TextView tvIndex = (TextView) convertView.findViewById(R.id.acha_list_contents_index);
tvIndex.setText(""+arSrc.get(position).mIndex);
// 날짜 설정
TextView tvDate = (TextView) convertView.findViewById(R.id.acha_list_contents_date);
tvDate.setText(arSrc.get(position).mDate);
// 내용 설정
TextView tvContents = (TextView) convertView.findViewById(R.id.acha_list_contents_contents);
tvContents.setText(arSrc.get(position).mContents);
// 상황 설정
TextView tvState = (TextView) convertView.findViewById(R.id.acha_list_contents_state);
tvState.setText(arSrc.get(position).mState);
}
return convertView;
}
}
반응형
'Android' 카테고리의 다른 글
| 뒤로가기 버튼 (0) | 2013.01.30 |
|---|---|
| 스피너 핸들러 Spinner Handler (0) | 2013.01.30 |
| 자주 쓰는 메소드 : goOtherActivity, setActivity, setListener, warmToast (0) | 2013.01.30 |
| 토스트 Toast (0) | 2013.01.30 |
| 옵션 메뉴 (0) | 2013.01.30 |
WRITTEN BY
,




