Как изменить шрифт и размер в списке - PullRequest
1 голос
/ 19 ноября 2011

Я должен получить элементы из списка, который уже существует и является невидимым, и я должен поместить элементы в другой пустой список, который является видимым. Я знаю, что есть много вопросов по этому поводу, но мой другой. Поскольку я должен использовать его с RSSReader, это еще сложнее, потому что я пытался адаптировать код, но .... Как я могу перенести элементы из невидимого списка в видимый, а также изменить шрифт и размер шрифт

TextView feedtitle = (TextView) findViewById(R.id.feedtitle);
        TextView feedpubdate = (TextView) findViewById(R.id.feedpubdate);
        ListView itemlist = (ListView) findViewById(R.id.itemlist);

        if (feed == null)
        {
            feedtitle.setText("No RSS Feed Available");
        return;
        }

        feedtitle.setText(feed.getTitle());
        feedpubdate.setText(feed.getPubDate());

        ArrayAdapter<RSSItem> adapter = new ArrayAdapter<RSSItem>(this,android.R.layout.simple_list_item_1,feed.getAllItems());

        itemlist.setAdapter(adapter);
        itemlist.setOnItemClickListener(this);
        itemlist.setSelection(0);

1 Ответ

0 голосов
/ 19 ноября 2011

Вы правы по размеру текста, иш.

Пожалуйста, следуйте этому примеру. (Примечание: я предполагаю многое, например, заменить RSSItem на желаемую строку.)

public void MyAdapter extends BaseAdapter {
    List<String> mVisibleData = new ArrayList<String>();
    Queue<String> mInvisibleData = new LinkedList<String>();

    public void addDataToInvisible(String string) {
            mInvisibleData.add(string);
    }

    public void moveInvisibleToVisible() {
        mVisibleData.add(mInvisibleData.poll());
        notifyDataSetChanged();
    }

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

    @Override public String getItem(int position) {
        return mVisibleData.get(position);
    }

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

    @Override public View getView(int position, View convertView, ViewGroup parent) {
        TextView ret = new TextView(getContext());
        Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "mtfont.ttf");
        ret.setTypeFace(tf);
        ret.setTextSize(18.0f);
            ret.setText(mVisibleData.get(position);
        return ret;
    }
}

Теперь вам нужно будет проработать более тонкие детали, но я уверен, что это будет близко к вашим потребностям.

...