2014-01-30 2 views
0

Я учитель истории с минимальным опытом кодирования, пытающийся создать приложение «президентский факт» для своего класса. Я просмотрел/прочитал несколько руководств, но, похоже, я не могу создать простой пользовательский список, в котором я могу редактировать размер текста и цвет текста.Простой пользовательский ListView для Android-приложения?

Это, честно говоря, все, что мне нужно. Список, который позволяет мне настроить его. Мне не нужно ничего делать, кроме отображения текста в списке.

У меня такое чувство, что код явно прост, но у меня полная потеря, и я хотел бы, чтобы приложение было закончено для моих учеников к концу недели.

Любые прямые ссылки на учебники или код будут очень оценены. Спасибо огромное!

EDIT: Я знаю, как создавать элементы и заполнять обычный список. Единственная проблема, с которой я сталкиваюсь, - это возможность редактировать внешний вид текста. Еще раз спасибо!

+0

Когда вы говорите, что редактируете внешний вид текста, вы имеете в виду редактирование его на лету во время запуска приложения через, например. EditText в ListView или вы просто не знаете, как устанавливать стили и шрифты в TextViews в ListView? – ElDuderino

+0

Только стиль-мудрый. Мне не нужно редактировать «на лету». – user3233962

ответ

0

Вам необходимо реализовать абстрактный класс BaseAdapter. Например:

public class FeedAdapter extends BaseAdapter { 
    private ArrayList<FeedItem> items; 
    private LayoutInflater layoutInflater; 

    FeedAdapter(Context context, ArrayList<FeedItem> list, int bgColor){ 
     items = list; 
     layoutInflater = LayoutInflater.from(context); 
    } 

    @Override 
    public int getCount() { 
     return items.size(); 
    } 

    @Override 
    public FeedItem getItem(int index) { 
     return items.get(index); 
    } 

    @Override 
    public long getItemId(int position) { 
     return 0; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View row; 

     if (null == convertView) { 
      row = layoutInflater.inflate(R.layout.romanblack_feed_item, null); 
     } else { 
      row = convertView; 
     } 

     TextView title = (TextView) row.findViewById(R.id.romanblack_rss_title); 
     TextView description = (TextView) row.findViewById(R.id.romanblack_rss_description); 
     TextView pubdate = (TextView) row.findViewById(R.id.romanblack_rss_pubdate); 

     String titleString = items.get(position).getTitle(); 
     title.setText(titleString); 

     String descString = items.get(position).getAnounce(70); 
     description.setText(descString); 

     pubdate.setText(items.get(position).getPubdate("")); 

     return row; 
    } 

} 
0

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

редактировать: смотреть на this tutorial

0

Чтобы стилизовать ваши взгляды перейти в каталог значений и редактировать или нет создать styles.xml. Здесь вы можете определить стандартные значения атрибутов вида, например.

<style name="TextStyleNormal" parent="@android:style/TextAppearance.Medium"> 
    <item name="android:textSize">@dimen/TextSizeNormal</item> 
    <item name="android:gravity">center</item> 
    <item name="android:background">@null</item> 
    <item name="android:layout_margin">4dp</item> 
    <item name="android:shadowDx">2</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:shadowDy">2</item> 
    <item name="android:shadowRadius">2</item> 
    <item name="android:layout_gravity">center</item> 
</style> 

то в определениях вида XML, просто добавить этот стиль к желаемому виду с

style="@style/TextStyleNormal" 

Конечно, вы можете добавить любого из этих атрибутов непосредственно в представление.

Смежные вопросы