Android 如何在listview中更改字体和大小

Android 如何在listview中更改字体和大小,android,xml,listview,adapter,Android,Xml,Listview,Adapter,我必须从已经存在且不可见的listview中获取项目,并且必须将项目放在另一个可见的空listview中。我知道这方面有很多问题,但我的问题不同。因为我必须将它与RSSReader一起使用,所以更加困难,因为我试图修改代码,但是。。。。如何将项目从不可见列表视图转移到可见列表视图,以及如何更改字体和字体大小 TextView feedtitle = (TextView) findViewById(R.id.feedtitle); TextView feedpubdate = (T

我必须从已经存在且不可见的listview中获取项目,并且必须将项目放在另一个可见的空listview中。我知道这方面有很多问题,但我的问题不同。因为我必须将它与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);
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(“没有可用的RSS源”);
返回;
}
feedtitle.setText(feed.getTitle());
feedpubdate.setText(feed.getPubDate());
ArrayAdapter=newArrayAdapter(这是android.R.layout.simple_list_item_1,feed.getAllItems());
itemlist.setAdapter(适配器);
itemlist.setOnItemClickListener(此);
itemlist.setSelection(0);

您的文本大小ish是正确的

请按照这个样品。(注意:我假设了很多,比如用所需的字符串替换RSSItem。)

public void MyAdapter扩展BaseAdapter{
List mVisibleData=newarraylist();
Queue mInvisibleData=新建LinkedList();
public void addDataToInvisible(字符串){
mInvisibleData.add(字符串);
}
public void moveInvisibleToVisible(){
添加(mInvisibleData.poll());
notifyDataSetChanged();
}
@重写公共int getCount(){
返回mVisibleData.size();
}
@重写公共字符串getItem(int位置){
返回mVisibleData.get(位置);
}
@覆盖公共长getItemId(int位置){
返回位置;
}
@覆盖公共视图getView(int位置、视图转换视图、视图组父视图){
TextView ret=newtextView(getContext());
Typeface tf=Typeface.createFromAsset(getContext().getAssets(),“mtfont.ttf”);
字体(tf);
ret.setTextSize(18.0f);
ret.setText(mVisibleData.get(位置);
返回ret;
}
}

现在,您必须处理更精细的细节,但我相信这将接近您的需要。

您究竟为什么要创建一个不可见的
列表视图来保存进入另一个列表的数据?将其存储在列表/数组中(无论如何都必须这样做)会不会更容易?我也不知道你在做什么。你是在下载东西的同时更新ListView吗?为什么要将东西从一个ListView传输到另一个?更改字体大小可以通过TextView.setTextSize()完成,字体可以通过
Typeface Typeface=Typeface.createFromAsset(getContext().getAssets())完成,“字体/sfdigitalreading.ttf”);
TextView.setTypeFace(字体)
Aedon…这是一个列表视图,你不能像那样更改字体…我使用一个不可见的列表,因为我正在更新一个代码…我不能使用数组来代替它,这不起作用。它在将rssitems转换为字符串时会出错。我的意思是,它会给所有涉及RSS的转换都带来错误。我需要一个真正从列表中获取项目的代码xml文件中的listview…无法从RSS列表中获取,因为它无法工作。。。
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;
    }
}