簡體   English   中英

從SQLite數據庫獲取數據到自定義卡GridView(庫:Gabrielemariotti)

[英]Fetching data from SQLite Database to Custom Card GridView( Library: Gabrielemariotti)

我正在使用此卡庫https://github.com/gabrielemariotti/cardslib 我已經實現了自定義cardgridcursoradapter,並在此類的構造函數中傳遞了光標。 這是我的自定義cardgridcursoradapter類。

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;
    }

}

這不會顯示Card Grid View。 我有什么想念的嗎?

嘿,我的朋友,您所做的一切都是正確的,但是正如您所說的那樣,這是自定義卡片網格視圖,您需要返回帶有卡片的視圖。 這意味着您的適配器類需要重寫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文件。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM