// 푸터 생성
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
m_footer = (LinearLayout) inflater.inflate(
R.layout.list_cell_footer1main, null);
Comment = (Button) m_footer.findViewById(R.id.btnFooter);
Comment.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.v("log", "Comment ++++++++++++++++++++++ : " + v);
if (viewAdapter.setCount(++m_nPage, NP)) {
viewAdapter.notifyDataSetChanged();
footerOk = true;
}
}
});
if (viewItemList1.size() > NP) {
pListView.addFooterView(m_footer, null, false);
}
adapter.setCount(m_nPage, NP);
---------------------------------------------
public class PersonViewHolder {
public TextView txtName;
public TextView txtTime;
public TextView txtTitle;
public Button btnDelete;
public GridView gridView;
}
class ViewListAdapter extends BaseAdapter {
Context mainCon;
LayoutInflater inflater;
ArrayList<ViewItem1> arSrc;
int layout;
int m_nCount = 0;
public ViewListAdapter(Context context, int alayout,
ArrayList<ViewItem1> aarSrc) {
mainCon = context;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
arSrc = aarSrc;
layout = alayout;
}
// 어뎁터 카운트를 설정한다
public boolean setCount(int nPage, int nNp) {
//Toast.makeText(mainCon, "setCount", Toast.LENGTH_LONG).show();
// Log.v("log","setCount: ++++++++++++++++++++++++++++");
if (nPage != 0 && nNp != 0) {
m_nCount = nPage * nNp;
return true;
} else {
return false;
}
}
@Override
public int getCount() {
if (m_nCount != 0) {
if (arSrc.size() > m_nCount) {
return m_nCount;
} else {
// 만약 xml 파싱을 할 경우 마지막 페이지가 호출 완료된 시점에서 푸터를 제거.
pListView.removeFooterView(m_footer);
return arSrc.size();
}
}
return arSrc.size();
}
@Override
public Object getItem(int position) {
return arSrc.get(position).title;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView,
ViewGroup parent) {
PersonViewHolder viewHolder = null;
if (convertView == null || convertView.getId() != R.layout.listview_item) {
convertView = inflater.inflate(layout, parent, false);
viewHolder = new PersonViewHolder();
viewHolder.txtName = (TextView) convertView.findViewById(R.id.name);
viewHolder.txtTime = (TextView) convertView.findViewById(R.id.time);
viewHolder.txtTitle = (TextView) convertView.findViewById(R.id.title);
viewHolder.btnDelete = (Button) convertView.findViewById(R.id.delete);
viewHolder.gridView = (GridView) convertView.findViewById(R.id.gridview);
convertView.setTag(viewHolder);
convertView.setId(R.layout.listview_item);
} else {
viewHolder = (PersonViewHolder) convertView.getTag();
}
viewHolder.txtName.setText(arSrc.get(position).name);
viewHolder.txtTime.setText(arSrc.get(position).time);
viewHolder.txtTitle.setText(arSrc.get(position).title);
SharedPreferences pref = getSharedPreferences("configPreference", 0);
String userNo = pref.getString("userNo", "");
Log.d("userNo", pref.getString("userNo", ""));
Log.d("arSrc.get(position).user)", arSrc.get(position).user);
if(userNo.equals(arSrc.get(position).user)){
viewHolder.btnDelete.setVisibility(View.VISIBLE);
}
return convertView;
}
}
리스트뷰 로우에 텍스트뷰 3개, 버튼 하나를 구현했는데요. 버튼은 특정할 경우에만 보이게 구현했습니다.
그런데 리스트뷰에 footer를 구현해서 더보기를 넣은 후부터 더보기버튼 누른 후 스크롤 해보면 리스트뷰 로우의 버튼이 없던데도 생겨버리는 현상이 나타납니다.
텍스트뷰는 그대로고요.
여러가지 방법을 써봤는데....안되어서 질문 납깁니다...