我必须从列表视图中获取已存在且不可见的项目,并且必须将这些项目放在另一个可见的空列表视图中。我知道有很多关于此的问题,但我的不同。因为我必须将它与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);
答案 0 :(得分:0)
你对文本化是正确的,等等。
请按照此示例进行操作。 (注意:我假设很多,例如用所需的字符串替换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;
}
}
现在,您将需要处理更精细的细节,但我相信这将接近您的需求。