2010-04-23 13 views
5

मैं एक कर्सर है में एक कर्सर के विशिष्ट पंक्तियों को छुपाने के लिए, और यह मिल गया, कहते हैं, 40 पंक्तियाँ, मैं जब उपयोगकर्ता एक चेकबॉक्स को चेक कुछ पंक्तियों को छिपाने के लिए चाहते हैं।कैसे एंड्रॉयड

एक ही रास्ता कर्सर पर फिर से क्वेरी चलाने है, लेकिन यह मेरी मदद नहीं करता है क्योंकि हालत (कई तर्क के साथ संतुलन, गणना) जावा द्वारा किया जाता है।

मैं कुछ है कि वर्तमान पंक्ति मिल जाएगा की जरूरत है, और वापसी में यह शो या नहीं किया जा सकता है।

किसी भी मदद की सराहना की जाएगी।

public class SelectableCursorWrapper extends CursorWrapper { 

private HashSet<Integer> mWhichShow; 

public SelectableCursorWrapper(Cursor cursor, HashSet<Integer> whichToShow) { 
    super(cursor); 

    mWhichShow = whichToShow; 
} 

@Override 
public int getCount() { 
    return mWhichShow.size(); 
} 

@Override 
public boolean moveToPosition(int position) { 
    if (position >= super.getCount()) { 
     return false; 
    } 

    if (mWhichShow.contains(position)) { 
     return super.moveToPosition(position); 
    } else { 
     // Recursion on this method to move to the next element properly 
     return this.moveToPosition(position + 1); 
    } 
} 
} 

किसी के लिए भी धन्यवाद कि मदद करने की कोशिश:

उत्तर

5

मैं CursorWrapper वारिस और तरीकों के कुछ ओवरराइड, यहाँ कोड है!

+0

आप इसका उपयोग कैसे करते हैं? –

+0

@SteveKamau, ध्यान दें कि कोड का यह टुकड़ा लगभग 6 वर्ष पुराना है। मुझे यकीन नहीं है कि इन दिनों पंक्तियों को छिपाने का यह सबसे अच्छा तरीका है। लेकिन वास्तव में क्या लापता है? – Noam