2012-02-01 2 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 들면 인덱스를 사용 복귀 (COUNT-1 위치).

btw는 listviews를 사용하는 효율적인 방법이 아니며 사실 많은 항목 (약 10000이면 SGS3에 충분 함) 이후에 충돌을 일으킬 메모리 누수가 있습니다.

목록보기에 대한 자세한 내용은 동영상을 확인 :

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());