2012-02-01 53 views
0

我收到了我的gmail帳戶的收件箱文件夾,可以列出傳入的電子郵件,但該列表正在從較舊的郵件列表中更新到較新的郵件。我怎樣才能恢復?使用Javamail API列表收件箱

public class readInbox extends ListActivity{ 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState){ 
super.onCreate(savedInstanceState); 
//setContentView(R.layout.readmail); 

Message[] messages = new Message[] { }; 

try { 
    messages = inboxReader.getMail(); 
} 
catch (MessagingException e) { 
    Log.e("mailReader getMail error. in readmail.java", e.getMessage(), e); 
} 



ArrayAdapter<Message> adapter = new ArrayAdapter<Message>(this, 
R.layout.simple_list_item_1 ,messages){ 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     Message message = getItem(position); 
     TextView resultView = new TextView(super.getContext()); 
     try { 
      resultView.setText(message.getSubject()); 
     } 
     catch (MessagingException e) { 
      Log.e("resultView.setText in readmail", e.getMessage(), e); 
     } 
     return resultView; 
    } 
}; 

setListAdapter(adapter); 
} 
} 

回答

0

或者反轉數組的順序,或用於getItem,使用還原指數(計數位1)。

順便說一句,這不是一個有效的方式來使用列表視圖,事實上它有一個內存泄漏,這將導致它在很多項目(約10000足以SGS3)後崩潰。

有關ListView的詳細信息,請參見以下視頻:

http://www.google.com/events/io/2010/sessions/world-of-listview-android.html

0

您可以通過inbox.getMessageCount()獲取消息的總數,然後檢索信息的最後N個號碼。

Message messages[] = inbox.getMessages(inbox.getMessageCount() - 25 , inbox.getMessageCount());