رفتن به مطلب
  • 0

نمایش اسامی به ترتیب حروف الفبای فارسی


fun_code

سوال

سلام

در ابتدا عذرخواهی میکنم از اینکه انقدر سوال میپرسم.

اما باور کنید برای کاتلین زیاد راهنما وجود نداره و وقتی با سرچ به نتیجه نمیرسم تاپیک میزنم.

مثلا الان میخوام دیتایی که دارم رو بر اساس حروف الفبای فارسی مرتب کنم و بعد نمایش بدم.

اما چند موردی که سرچ کرده بودم رو تست کردم و نتیجه نداد و گاهی میاد دیتایی که با "پ" شروع میشن رو آخر لیست قرار میده.

آیا تجربه ای در این زمینه دارید ؟

با سپاس

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

8 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

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

برای مورد شما باید از collection استفاده کنید.دقت کنید s1 و s2 رو با مدل خودتون و فیلدی که میخواین بر اساس اون سورت بشه جایگزین کنید

 yourlist.sortedWith {s1,s2 ->
   Collator.getInstance(Locale("fa", "IR")).compare(s1, s2)
 }

 

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

در ۱۴۰۰/۱۰/۱ در ۱۶:۰۳، محمدرضا شاهپیری گفته است:

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

برای مورد شما باید از collection استفاده کنید.دقت کنید s1 و s2 رو با مدل خودتون و فیلدی که میخواین بر اساس اون سورت بشه جایگزین کنید

 yourlist.sortedWith {s1,s2 ->
   Collator.getInstance(Locale("fa", "IR")).compare(s1, s2)
 }

 

سلام استاد

در ابتدا تشکر میکنم بابت راهنماییتون

استاد سورس به شکل زیر نوشته شده...

دیتا از سمت دیتابیس میاد و از سمت sqllite اندروید هست.

تصویر کد مربوطه:

sortedwith_biug.jpeg

خطا میده که این لیستی که داره میاد لیستی از رشته نیست و لیستی از ساب سکشن هست
در حالیکه از نوع رشته است !

تصویر خطا :

sortedwith_error_2e08.jpeg

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

در ۱۴۰۰/۱۰/۱ در ۱۶:۰۳، محمدرضا شاهپیری گفته است:

دقت کنید s1 و s2 رو با مدل خودتون و فیلدی که میخواین بر اساس اون سورت بشه جایگزین کنید

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

class SubSection{
	var name:String=""
    var family:String=""
}

حالا کد باید به شکل زیر تغییر کنه

 yourlist.sortedWith {s1,s2 ->
   Collator.getInstance(Locale("fa", "IR")).compare(s1.name, s2.name)
 }

 

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

در ۱۴۰۰/۱۰/۱ در ۱۶:۵۰، محمدرضا شاهپیری گفته است:

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

class SubSection{
	var name:String=""
    var family:String=""
}

حالا کد باید به شکل زیر تغییر کنه

 yourlist.sortedWith {s1,s2 ->
   Collator.getInstance(Locale("fa", "IR")).compare(s1.name, s2.name)
 }

 

عذرمیخوام استاد.

الان همین کارو انجام دادم و دیگه ارور نداد. اما بازم مثلا یک کلمه که با "پ" شروع میشه پایین لیسته !

خیلی عجیبه.

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

الان که بیشتر دقت کردم ، حتی ترتیبش عجیب تر هم شده

مثلا حتی کلماتی که با  "ب" هم شروع میشن اومدن پایین لیست ! "م" اومده بالای لیست

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

در ۱۴۰۰/۱۰/۱ در 17:26، fun_code گفته است:

الان که بیشتر دقت کردم ، حتی ترتیبش عجیب تر هم شده

مثلا حتی کلماتی که با  "ب" هم شروع میشن اومدن پایین لیست ! "م" اومده بالای لیست

عزیز دقت داشته باشید که دستورsortedWith تغییری توی لیست اصلی ایجاد نمیکنه و یه لیست جدید سورت شده بر میگردونه و باید از همین استفاده کنید. اگه میخواین خود لیست هم آپدیت بشه از دستور sortWith استفاده کنید موردی نداره و تست شده

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

در ۱۴۰۰/۱۰/۱ در ۲۲:۴۸، محمدرضا شاهپیری گفته است:

عزیز دقت داشته باشید که دستورsortedWith تغییری توی لیست اصلی ایجاد نمیکنه و یه لیست جدید سورت شده بر میگردونه و باید از همین استفاده کنید. اگه میخواین خود لیست هم آپدیت بشه از دستور sortWith استفاده کنید موردی نداره و تست شده

سلام

ممنون استاد

فکر میکردم روی لیست تغییر ایجاد میکنه ، دستور sortWith  هم وجود نداشت.

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

مجددا از راهنمایی شما استاد گرانقدر تشکر میکنم.

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

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...