Как я могу показать определенный столбец для просмотра списка в Android - PullRequest
1 голос
/ 07 июня 2011

Я хочу показать столбец setName в виде списка, как это возможно в Android.Я поделился своим кодом.

private String lv_arr[];
String selectList = "select setName from Displaysettings";      
DBConnect conn1 = new DBConnect(getApplicationContext(), "colorCode");      
conn1.execNonQuery(selectList);
lv1=(ListView)findViewById(R.id.ListView01);
lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));

заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 07 июня 2011

Лучший способ - извлечь все результаты в Курсор, а затем использовать курсор и добавить содержимое в ListView

0 голосов
/ 07 июня 2011

вы можете попробовать что-то вроде этого:

String[] setNameValues = new String[] {
            "setName1",
            "setName2",
            "setName3"
    };

    // Create a simple array adapter (of type string) 
    //with the setName values returned by conn1.execNonquery
    ListAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, setNameValues);

Итак, вы должны преобразовать ваш результат conn1.execNonQuery (selectList) в массив строк

Обновление:

Или вы можете использовать адаптер курсора, если ваш conn1.execNonQuery возвращает курсор.

Например (некоторые строки удаляются, чтобы прояснить ситуацию)

public class DiagramListCursorAdapter extends CursorAdapter {

    private boolean dataValid;
    private boolean autoRequery;
    private boolean autoRequeryInProgress;
    private int count = -1;

    public DiagramListCursorAdapter(Context context, Cursor c, boolean autorequery) {
        super(context, c, autorequery);
    }

    @Override
    public View newView(final Context context, Cursor cursor, ViewGroup parent) {
        LayoutInflater inflater = LayoutInflater.from(context);
        View v = inflater.inflate(R.layout.diagram_item, null);
        DiagramListCursorWrapper wrapper;
        wrapper = new DiagramListCursorWrapper(v);
        v.setTag(wrapper);
        return v;
    }

    @Override
    public void bindView(View v, Context context, Cursor cursor) {
        DiagramListCursorWrapper wrapper = (DiagramListCursorWrapper) v.getTag();
        wrapper.populateFrom(cursor);
    }

    void refresh() {
        if (getCursor() != null) {
            getCursor().requery();
        }
    }


    public class DiagramListCursorWrapper {
        TextView title;

        public DiagramListCursorWrapper(View v) {
            setupViews(v, null);
        }

        public DiagramListCursorWrapper(View v, Context context) {
            setupViews(v, context);
        }

        private void setupViews(View v, Context context) {
            title = (TextView) v.findViewById(R.id.title);
            icon = (ImageView) v.findViewById(R.id.icon);

        }

        public void populateFrom(Cursor cursor) {
            if (cursor != null) {
                try {
                    title.setText(cursor.getString(cursor.getColumnIndex(DiagramsADO.DIAGRAM_TITLE)));
                } catch (Exception e) {
                }
            }

        }

    }

}

Надеюсь, это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...