마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

간단한 메모장인데 리스트뷰에 최근에 입력한내용이 아래로 내려가는데

0 추천
최신꺼를 맨위로 올리려면 어떻게해야하나요 ㅠㅠ

public class MemoActivity extends ListActivity {
    final public static String TAG = "Database";
    private MemoDatasource datasource;
    private EditText mMemoET;
    //ArrayList<Memo> mArrlist;
    private List<Memo> values;
    final Calendar c = Calendar.getInstance();
    private int hour;
    private int minute;
    private int year;
    private int month;
    private int day;
   

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.database_activity);
        datasource = new MemoDatasource(this);
        datasource.open();
        values = datasource.getAllMemos();
       // mArrlist = new ArrayList<Memo>();
      
        ArrayAdapter<Memo> adapter =
            new ArrayAdapter<Memo>(this
                  ,android.R.layout.simple_list_item_1, values);
        setListAdapter(adapter);
       
       
        mMemoET = (EditText)findViewById(R.id.editText1);
      
    }

    public void onClick(View view) {
        ArrayAdapter<Memo> adapter =
            (ArrayAdapter<Memo>) getListAdapter();
      
        Memo memo = null;
        switch (view.getId()) {
        case R.id.add:
          final Calendar c = Calendar.getInstance();
             hour= c.get(Calendar.HOUR_OF_DAY);
             minute = c.get(Calendar.MINUTE);
             year= c.get(Calendar.YEAR);
             month = c.get(Calendar.MONTH)+1;
             day = c.get(Calendar.DATE);
            String inputValue = mMemoET.getText().toString();
           String s= "\n"+year+"년"+month+"월"+day+"일"+hour+"시"+minute+"분";
           String total = inputValue+s;
            if(inputValue==null || "".equals(inputValue))
                return;       
          
        
            memo = datasource.createMemo(total);

            adapter.add(memo);
           
            mMemoET.getText().clear();
            break;
            }
        //Collections.reverse(values);
        adapter.notifyDataSetChanged();
       
    }

collections.reverse(values)를 하면 저장순서가 막 뒤엉켜 버리네요;;

어떻게해야 할까요;;
부개동지킴이 (590 포인트) 님이 2013년 6월 18일 질문
부개동지킴이님이 2013년 6월 18일 수정

리스트를 출력하실때 무슨 기준점이 있으셔야 되지 않을까요 ?

디비에서 꺼내신다면 등록날짜 순이라던지, 시간순이라던지 ^^*

그게 제일 간단하구요!

arraylist 정리를 원하신다면,

http://dreamchallenger.blogspot.kr/2011/02/arraylist.html

참조 하시길 바래요^^

도움이 되시길 바랍니다!

1개의 답변

0 추천
datasource = new MemoDatasource(this);
        datasource.open();
        values = datasource.getAllMemos();
 

위 부분을 수행할때 getAllMemos 받아오는 부분에서 sort type을 정해서 윗분 말씀처럼 등록날짜 같은 기준으로 정렬된 values를 뽑아오면 될거 같습니다~
헐레벌떡 (310 포인트) 님이 2013년 6월 18일 답변
...