2015-05-09 112 views
1

我正在使用此卡庫https://github.com/gabrielemariotti/cardslib。我已經實現了自定義的cardgridcursoradapter,並在該類的構造函數中傳遞了遊標。 這是我自定義的cardgridcursoradapter類。從SQLite數據庫提取數據到定製卡GridView(庫:Gabrielemariotti)

class CustCursorAdapter extends CardGridCursorAdapter{ 


    public CustCursorAdapter(Context context, Cursor c, boolean autoRequery) { 
     super(context, c, autoRequery); 
    } 

    @Override 
    protected Card getCardFromCursor(Cursor cursor) { 

     MyCard card = new MyCard(super.getContext()); 

     return card; 
    } 

} 

這不顯示卡片網格視圖。我錯過了什麼?

回答

0

嘿,我的朋友,你所做的一切都是正確的,但正如你所說它是自定義卡片網格視圖,你需要返回一張卡片的視圖。 這意味着您的適配器類需要重寫newview和bindview方法。喜歡這個。

class CustCursorAdapter extends CardGridCursorAdapter{ 


public CustCursorAdapter(Context context, Cursor c, boolean autoRequery) { 
    super(context, c, autoRequery); 
} 

@Override 
protected Card getCardFromCursor(Cursor cursor) { 

    MyCard card = new MyCard(super.getContext()); 

    return card; 
} 

    @Override 
    public View newView(Context context, Cursor cursor, ViewGroup parent) { 
     return LayoutInflater.from(context).inflate(R.layout.card_grid_item, parent, false); 
    } 

    @Override 
    public void bindView(View view, Context context, Cursor cursor) { 
     super.bindView(view, context, cursor); 
     TextView id = (TextView) view.findViewById(R.id.id); 
     TextView name = (TextView) view.findViewById(R.id.name); 
     TextView username = (TextView) view.findViewById(R.id.username); 
     TextView password = (TextView) view.findViewById(R.id.password); 
     Integer cursor_id= cursor.getInt(cursor.getColumnIndexOrThrow("_id")); 
     String cursor_name=cursor.getString(cursor.getColumnIndexOrThrow("Name")); 
     String cursor_username=cursor.getString(cursor.getColumnIndexOrThrow("Username")); 
     String cursor_password=cursor.getString(cursor.getColumnIndexOrThrow("Password")); 
     id.setText(String.valueOf(cursor_id)); 
     name.setText(cursor_name); 
     username.setText(cursor_username); 
     password.setText(cursor_password); 
    } 
} 

像這樣更新了你的適配器子類。 (記得更新mycard類的佈局和java文件。)

+0

讓我檢查一下! – knarola

+0

謝謝兄弟!它工作得很好。 – knarola