رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

مرتب سازی آیتم های یک لیست بر اساس تاریخ یا حروف الفبا


پست های پیشنهاد شده

کسی میدونه چطور میشه آیتم های یک لیست ویو رو بر اساس تاریخ یا حروف الفبا مرتب کرد؟

ممنون میشم اگه کمک کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

باید از الگوریتم های مرتب سازی استفاده کنید و در مورد مرتب سازی بر اساس تاریخ می توانید یک شی از date  ساخته و مقادیر تاریختان را به اضافه ساعت و دقیقه در آن ست کنید سپس مقدار تابع 

date.getTimeInMillis();

را می گیرید.

این کار را برای همه تاریخ هایتان انجام می دهید و سپس از الگوریتم های مرتب سازی برای مرتب کردن استفاده می کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببخشید من تازه وارد دنیای اندروید شدم، اطلاعاتم خیلی کمه، اگه میشه بیشتر راهنمایی کنید، ممنون میشم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر
سلام

دوست عزیز لینکهای زیر و ببین مرتب سازی توی لیست سفارشیه

http://stackoverflow.com/questions/19705004/sorting-listview-in-android

http://www.vogella.com/tutorials/AndroidListView/article.html

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 3 هفته بعد...

من یه لیست ویوی سفارشی با hashmap ساختم، نمی دونم چطور باید فیلد title رو بر اساس حروف الفبا مرتب کنم. اینم کد لیستمه:

		listview1 = (ListView) findViewById(R.id.listview1);	dbh = new Database(getApplicationContext());	db = dbh.getReadableDatabase();	ArrayList> arraylist = new ArrayList>();	Cursor c = db.rawQuery("SELECT * FROM work where status=0", null);	for (; c.moveToNext() {		HashMap map = new HashMap();		map.put("id", c.getString(0));		map.put("title", c.getString(1));		map.put("comment", c.getString(2));		map.put("date", c.getString(3));		if (c.getString(4).equals("0")) {			map.put("status",					getResources().getString(R.string.string_doings));		}		arraylist.add(map);	}	Adapter = new ListviewAdapter(getApplicationContext(), arraylist);	listview1.setAdapter(Adapter);
لینک ارسال
به اشتراک گذاری در سایت های دیگر

به لطف خدا و استاد سرسیفی، جوابو پیدا کردم. برای استفاده دوستان:

		btn_sort = (Button) findViewById(R.id.btn_sort);	btn_sort.setOnClickListener(new OnClickListener() {		@Override		public void onClick(View arg0) {			// TODO Auto-generated method stub			ArrayList> arraylist = new ArrayList>();			Cursor d = db.rawQuery("SELECT * FROM work where status=0 order by title asc",					null);			for (; d.moveToNext() {				HashMap map = new HashMap();				map.put("id", d.getString(0));				map.put("title", d.getString(1));				map.put("comment", d.getString(2));				map.put("date", d.getString(3));				if (d.getString(4).equals("0")) {					map.put("status",							getResources()									.getString(R.string.string_doings));				}				arraylist.add(map);			}			Adapter = new ListviewAdapter(getApplicationContext(),					arraylist);			listview1.setAdapter(Adapter);		}	});

به جای asc (صعودی) می تونید از desc (نزولی) هم استفاده کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 2 سال بعد...

به لطف خدا و استاد سرسیفی، جوابو پیدا کردم. برای استفاده دوستان:

		btn_sort = (Button) findViewById(R.id.btn_sort);
	btn_sort.setOnClickListener(new OnClickListener() {

		@Override
		public void onClick(View arg0) {
			// TODO Auto-generated method stub
			ArrayList> arraylist = new ArrayList>();

			Cursor d = db.rawQuery("SELECT * FROM work where status=0 order by title asc",
					null);

			for (; d.moveToNext() {

				HashMap map = new HashMap();

				map.put("id", d.getString(0));
				map.put("title", d.getString(1));
				map.put("comment", d.getString(2));
				map.put("date", d.getString(3));
				if (d.getString(4).equals("0")) {
					map.put("status",
							getResources()
									.getString(R.string.string_doings));
				}
				arraylist.add(map);

			}
			Adapter = new ListviewAdapter(getApplicationContext(),
					arraylist);
			listview1.setAdapter(Adapter);

		}

	});

به جای asc (صعودی) می تونید از desc (نزولی) هم استفاده کنید.

سلام ، ببخشید من میخوام اون ارایه ای ک دارم رو بر عکس نشون بده یعنی اخرین کلمه از ارایم رو تو ایتم اول قرار بده ، از ریسایکلر استفاده کردم ، راهی هست ، میخوام اخرین متنی ک ب دیتابیسم اضافه شد تو ریسایکر در اولین ایتم نمایش بده ، باید از این کدی ک نوشتین استفاده کنم یا چیز دیگه ای باید بنویسم ، ممنون میشم اگ جوابمو بدین :S:D

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بر فرض مثال شما از همون کد دوستمون استفاده می کنید، شما باید فقط بجای asc از desc استفاده کنید، توی جوابشونم هم ذکر کردن.[shcode=java] Cursor d = db.rawQuery("SELECT * FROM work where status=0 order by title DESC",

                        null);[/shcode]

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...