2011-11-18 109 views
1

我必須從列表視圖中獲取已存在且不可見的項目,並且必須將項目置於另一個可見的空列表視圖中。我知道有很多這方面的問題,但我的情況不同。因爲我必須將它與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

爲什麼在地球上你會創建一個'不可見的'ListView來保存進入另一個的數據?將它存儲在一個列表/數組中是否會更容易?(無論如何都要這麼做)? – AedonEtLIRA

+0

我也失去了你想要做的事情。你是否正在嘗試在下載內容時更新ListView?你爲什麼從一個ListView轉移到另一個? – AedonEtLIRA

+0

更改字體大小可以通過TextView.setTextSize()完成,字體可以通過字體typeface = Typeface.createFromAsset(getContext()。getAssets(), \t \t「fonts/SFDigitalReadout-Heavy.ttf」)完成。 ;''TextView.setTypeFace(typeface);' – AedonEtLIRA

回答

0

你在文字大小上是正確的,ish。

請按照此示例。 (注:我假設了很多,如與期望的字符串替換的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; 
    } 
} 

現在,你將不得不工作更精細的細節,但我相信這將是貼近您的需求。

+0

不起作用。它在將rssitems強制轉換爲字符串時出錯。我的意思是它有點給所有涉及RSS的演員帶來錯誤。我需要一個實際上從xml文件中的listview中獲取項目的代碼...不要從RSS列表中獲取它,因爲它不會工作... –

相關問題