ㅠㅠ비슷한 질문은 많은데, 저와 같은 상황은 못찾겠네요

여러 소스를 조합해서, 가장 마지막으로 끌어내리면 다음 페이지가 리스트 아래에 붙는 구조를 만들었는데요,

스크롤을 감지하라고 하다보니, 클릭이벤트가 안먹더군요...


filldata 함수가 커서를 받아서 리스트 getView를 채우는 형식인데요

다음페이지가 한번도 로딩되지 않는상황에서는 이상하게 클릭이 잘되는데,

한번이상 로딩되면 예전에 클릭이 되었던 아이템조차도 클릭이안되네요 ㅠㅠ 도와주세요~~

이것도 역시 어댑터의 문제일까요?


일단 filldata호출 후 사용되는 코드를 올려놓겠습니다! 보아주시면 정말 감사드리겠습니다 ㅠㅠ 며칠을 헤매고 있어요~~


=====================================


private void fillData(Cursor c) {

arrClassic.clear();

mRowList.clear();

mLockListView = true;

i=0;


if (dialog != null) {

if (dialog.isShowing()) {

dialog.dismiss();

}

}

if (Type_dialog != null) {

if (Type_dialog.isShowing()) {

Type_dialog.dismiss();

}

}

if (Loc_dialog != null) {

if (Loc_dialog.isShowing()) {

Loc_dialog.dismiss();

}

}

if (Sort_dialog != null) {

if (Sort_dialog.isShowing()) {

Sort_dialog.dismiss();

}

}

while (c.moveToNext()) {

String strtitle = c.getString(0);

String strdate = c.getString(2);

String strimg = c.getString(5);

String strplace = c.getString(3);

//DB이용해서 채우는 것

ClassicInfo stationInfo = new ClassicInfo(strtitle,

strdate,strimg,strplace);

arrClassic.add(stationInfo);

}

// 어댑터, 리스트뷰 초기화

listView = (ListView) findViewById(android.R.id.list);


mAdapter = new StationAdapter(this, R.layout.row, mRowList);

//푸터등록 setAdapter 이전에

mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);


//스크롤리스너 등록

getListView().setOnScrollListener(this);


setListAdapter(mAdapter);

addItems(25);

mListId = IConstant.LIST_FAVORITE;


c.close();

}

@Override

public void onScroll(AbsListView view, int firstVisibleItem,

int visibleItemCount, int totalItemCount)

{

final String LOG="onScroll";

Log.i(LOG,"on11111");

int count = totalItemCount - visibleItemCount;

if(firstVisibleItem >= count && totalItemCount != 0 

&& mLockListView==false)

{

addItems(12);

mListId = IConstant.LIST_FAVORITE;


}

}


public void addItems(final int size)

{


mLockListView = true;

//mRowList에 넣기

int isize=  i+size;

for(;i<isize;i++)

{

if(arrClassic.size()<=i){

mAdapter.notifyDataSetChanged();

return;

}

mRowList.add(arrClassic.get(i)); 

    

}

mAdapter.notifyDataSetChanged();

mLockListView = false;

}

@Override

public void run() {

// TODO Auto-generated method stub

switch (mJobId) {

case IConstant.JOB_DBCOPY:

doCopy();

handler.sendEmptyMessage(IConstant.JOB_DBCOPY);

break;

}

}


private Handler handler = new Handler() {


@Override

public void handleMessage(Message msg) {

// TODO Auto-generated method stub

switch (mJobId) {

case IConstant.JOB_DBCOPY:

if (progressDialog.isShowing()) {

progressDialog.dismiss();

}


savePreferences();

initView();

break;

}

}

};


/**

* 설정값 저장

*/

private void savePreferences() {

preferences.edit().putString("VERSION", getString(R.string.appversion))

.commit();

}


@Override

public void onScrollStateChanged(AbsListView view, int scrollState) {

// TODO Auto-generated method stub

}