обрабатывать результаты из sqlite и передавать их в пользовательский список - PullRequest
0 голосов
/ 24 января 2012

Я работаю с SQLite и получаю результаты из двух столбцов (имя, значок).Я хочу передать их в пользовательский адаптер, чтобы установить имя в качестве текста (TextView), а затем значок в качестве его drawableLeft с setCompoundDrawablesWithIntrinsicBounds .

во-первых, моя вставка в БД похожа на эту

  "Fruit / Vegetables,R.drawable.ic_launcher",
   "Meat / Fisth,R.drawable.ic_launcher"

в моем списке. У меня есть этот код после открытия БД и т. Д.

 mShopCatCursor = mDbHelper.fetchShoppingCategories();
 startManagingCursor(mShopCatCursor);

  String[] names,icons;
while(mShopCatCursor.moveToNext()){
    for(int i=-1,l=mShopCatCursor.getColumnCount(); ++i<l;){
        names[i]= mShopCatCursor.getString(0);
        icons[i]= mShopCatCursor.getString(1);
    }
}

    //this was taken from a tut 
    String[] from = new String[]{AppSQLite.KEY_NAME,AppSQLite.KEY_ICON};

    TextViewWithDrawableListAdapter adap = 
        new TextViewWithDrawableListAdapter(this, from);
    setListAdapter(adap);

что яхочу передать имена и значки, чтобы пользовательский адаптер сделал следующее

  public View getView(int position, View convertView, ViewGroup parent){
    View v = convertView;
    if(v == null){
        LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = inflater.inflate(R.layout.main_list_item, null);
    }

    TextView textView = (TextView) v.findViewById(R.id.main_menu_list_item);

я хочу это !!для каждого элемента списка нужно принимать правильные значения.

            textView.setText(names[0]); 
    textView.setCompoundDrawablesWithIntrinsicBounds(icons[0], 0, 0, 0);

    return v;
}

я знаю, что namew [0] и значок неверны, но я действительно не могу найти путь, даже просматривая в Интернете часы.

1 Ответ

0 голосов
/ 24 января 2012

Во-первых, я не понимаю, чего ты хочешь.Если вы хотите передать массив имен и значков в свой класс адаптера, вы можете использовать конструктор в своем классе адаптера для их получения.Или прочитайте этот урок .

...