CursorAdapter로 데이터 리스트 만들었습니다. 대충 잘나옵니다.

문제는 데이터중에 리스트상에서 보일지 말지를 결정하는 판단을 java코드에서 하고있어서 

즉 , sql문과 같이 커서를 구축하는 부분에서 하지 않고 java Function으로 별도로 있습니다.

이런경우 row를 추가 하지 않고 싶을때 어떻게 해야되나요?


아래는 홀더 패턴으로 subclass안의 내용인데요 대충 이렇게 했습니다.


/**[List adapter]************************************************/

    static class ViewHolder{

TextView list_name;

TextView list_number;

}


    class ContactList extends CursorAdapter{

    private Context context;

    private LayoutInflater inflater;

    private int layout; 

   

    public ContactList(Context context, Cursor c,int layout) {

super(context, c);

this.layout = layout;

}

   

@Override

public View newView(Context context, Cursor cursor, ViewGroup parent) {

LayoutInflater inflater = LayoutInflater.from(context);

       View view = inflater.inflate(layout, parent, false);

       

       ViewHolder holder = new ViewHolder();

holder.list_name = (TextView)view.findViewById(R.id.list_name);

holder.list_number = (TextView)view.findViewById(R.id.list_number);

view.setTag(holder);

return view;

}

@Override

public void bindView(View view, Context context, Cursor cursor) {

// TODO Auto-generated method stub

/*

TextView txtListName = (TextView)view.findViewById(R.id.list_name);

TextView txtListNumber = (TextView)view.findViewById(R.id.list_number);

txtListName.setText(cursor.getString(1));

txtListNumber.setText(cursor.getString(2));

*/

//이부분에서 데이터를 함수로 보일지 말지를 체크하는 데 안보이게 하려면 어떻게 해야되나요?



ViewHolder holder = (ViewHolder)view.getTag();

holder.list_name.setText(cursor.getString(1));

String phstring = cursor.getString(2);

if(isPhone(phstring)){

String[] phArr = isPhoneParse(phstring);

if(phArr!=null && phArr.length==3)

phstring = phArr[0]+"-"+phArr[1]+"-"+phArr[2];

}

holder.list_number.setText(phstring);

}