2012-04-21 5 views
-1

Я использую SimpleCursorAdapter для извлечения данных из базы данных SQLite и использования настраиваемого макета и списка для отображения двух строк из базы данных. Теперь у меня есть два вопроса:Пользовательский адаптер Listview

  1. Должен ли я создать собственный адаптер, если я хочу, чтобы отобразить звезду в конкретных строках, основанной на конкретных критериях? У меня есть изображение, уже установленное на невидимое в моем настраиваемом макете, и хочу, чтобы оно было видимым на основе некоторых условий для самих данных строки. Я реализовал все вкладки, а также вкладку фаворитов, и все работает правильно, мне просто нужен значок звезды. Я сталкиваюсь с этой проблемой также с помещением изображения рецепта в определенные строки.

  2. Каков наилучший способ получить изображения динамически в списках? Я следил за ленивым учебником по изображению, но я не знал, как его реализовать с помощью CustomCursorAdapter, потому что он был реализован с использованием базового адаптера. Каковы некоторые ссылки на lazyloading изображения с помощью простых курсоров?

 

public class AlternateRowCursorAdapter extends SimpleCursorAdapter{ 
    int layoutn; 
    Cursor mCursor; 
    String[] fromn; 
    int[] ton; 

    LayoutInflater mInflater; 

    private int[] colors = new int[] { Color.parseColor("#000000"), Color.parseColor("#303030") }; 

    public AlternateRowCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to) { 
     super(context, R.layout.listtype, c, from, to); 
     this.mCursor = c; 
    } 

    /** 
    * Display rows in alternating colors 
    */ 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     View view = super.getView(position, convertView, parent); 

     ImageView star = (ImageView)view.findViewById(R.id.favoritesicon); // The star I want to show 

     if (mCursor.getString(8) == "YES") // shows if the item is in favorites 
     { 
      star.setVisibility(view.VISIBLE); 
     } 

     int colorPos = position % colors.length; 
     view.setBackgroundColor(colors[colorPos]); 

     return view; 
    } 
} 
+0

images are static или fetch from url – Khan

+0

изображения являются статичными в папке с выделением –

ответ

1

Должен ли я создать собственный адаптер?

Да, вы должны создать пользовательский адаптер и добавить звезду в вашей строке ....

Что такое лучший способ получить изображения динамически в ListViews?

Я думаю, вы должны использовать универсальный загрузчик изображений. См. Проект GitHubUniversal Image Loader for Android.

+0

Спасибо Самиру за ваш ответ. Я попытаюсь взглянуть на универсальный загрузчик изображений. Есть ли у вас какой-либо пример, как я могу использовать пользовательский адаптер для выполнения моей задачи? кроме того, я сделал весь код в активности для списков с вкладками, не входящими в пользовательский адаптер. –

+0

Mohamed, у меня нет никакого примера для выполнения всей вашей задачи, но см. Пользовательский адаптер с изображением http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/ –

+0

I «Я отредактировал мой вопрос с помощью кода, который я пытаюсь, и получаю сообщение об ошибке. –