اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

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


جستجو در تالار

در حال نمایش نتایج برای برچسب های 'answercenter'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


تالار ها

  • بخش اطلاعات اصلی انجمن
    • قوانین تیــم
    • انتقادات و پیشـــنهادات
    • اخبار تـــیم
    • تـولـیـداتـــ انـجـمــن
    • محـــــصولات ACStore
    • مرتبط با فروشگاه
    • درخواست ارتقا درجه کاربری
  • برنامه نویسی بیسیک4اندروید
    • آموزش های گام به گام برای مبتدی ها
    • پرسش و پاسخ (بیسیک4اندروید)
    • کتابخانه ها (Libraries)
    • درخواست Wrap کردن کتابخانه
    • ســـورس کـــدهـا
    • قطعه کدها (Code Snippets)
    • آموزش های تصویری
    • آموزش های متنی
    • ابزارهای B4A
    • برنامــه هـای سـاختـه شـده توسـط شمــا
  • برنامه نویسی اندروید استودیو
    • آموزش های گام به گام برای مبتدی ها
    • کتابخانه ها (Libraries)
    • ســـورس کـــدهـا
    • قطعه کدها (Code Snippets)
    • آموزش های تصویری
    • آموزش های متنی
    • پرسش و پاسخ (اندروید استودیو)
    • ابزار های اندروید استودیو
    • برنامــه هـای سـاختـه شـده توسـط شمــا
  • برنامه نویسی B4J
    • آموزش
    • پرسش و پاسخ
    • کتابخانه ها
    • قطــــــعه کــــــــد ها
    • ابزار ها
  • مـتـفـرقـه
    • بحث آزاد
    • نقد و بررسی برنامه ها
    • صندلی داغ انجمن
    • مسابقات انجمن
    • مرتبط با برنامه نویسی
    • بخش توسعه دهندگان
  • گرافیک
    • ابزارهای طراحی
    • آموزش گرافیک
    • عکس ها و تصاویر لایه باز
    • درخواست طراحی
    • نمونه کارها
  • HTML & PHP
    • ابزار مورد نیاز برنامه نویسی HTML و PHP
    • آموزش PHP
    • آموزش HTML
    • سوالات مربوط به PHP و Html
  • بخش ویژه (VIP)
    • محـــصولات کــاربران
    • درخواست آموزش
  • آرشیو
    • بایگانی

دسته ها

  • B4J
    • کتابخانه ها
    • سورس کد ها

دسته ها

  • Articles

13 نتیجه پیدا شد

  1. لایه ConstraintLayout

    با سلام امیداوم حالتون خوب باشه خب یک لایه ی جدید توی اندروید استودیو اضافه شده به اسم ConstraintLayout برای طراحی های ریسپانسیو. این لایه حدودا شبیه RelativeLayout هستش اما بهتر و بهینه تر و مناسب برای طراحی صفحات ریسپانسیو. مبتنی بر موقعیت مکانی سایر ویو ها، میتونیم ویوهارو بچینیم. دارای پراپرتی برای تنظیم مختصات ویو ها توضیحات کامل به همراه ویدئو رو می تونید توی سایت دولوپر گوگل مشاهده کنید. آموزش دولوپر گوگل موفق باشید
  2. کتابخانه MaskedEdittext

    کتابخانه MaskedEdittext سلام این کتابخانه برای تنظیم یک فرمت برای ورودی کاربر هستش. برای مثال تنظیم فرمت تاریخ برای وارد کردن تاریخ تولد توسط کاربر. یا تنظیم کردن فرمت ورودی ایمیل و غیر. تصویر : پروژه به همراه کتابخانه » MaskedEditText+v1.52.zip
  3. کتابخانه Jsoup

    کتابخانه Jsoup با سلام با یک آموزش ساده از کتابخانه Jsoup در خدمتتون هستیم از این کتاباخونه برای تجزیه ی HTML استفاده می شود.با این کتابخونه می تونید تگ ها و المنت ها و صفات و . . . . رو تجزیه کنید. مقادیر رو بخونید و استفاده کنید. تصویر پایین را مشاهده کنید » در اینجا تایتل و لوگوی سایت رو توی برنامه نمایش میدیم. فایل سورس + کتابخانه: Jsoup.rar
  4. کتابخانه ContactPicker

    کتابخانه ContactPicker با سلام با یک آموزش از کتابخانه ی ContactPicker در خدمتتون هستیم به وسیله ی این کتابخانه می تونید مخاطبین گوشیتون رو نمایش بدید. با دسته بندی های مختلف » - Photos - Mail - Name - Notes - Starred - Phone برای دریافت مخاطبین حتما دو دسترسی زیر رو به فایل Manifest اضافه کنید : AddPermission("android.permission.READ_CONTACTS") AddPermission("android.permission.WRITE_CONTACTS") فایل پروژه به همراه کتابخانه » ContactPicker.rar
  5. بخش ویژه ( VIP ) انجمن راه اندازی شد!

    VIP به آنکه جانم بخشید و جهان انجمن انسرسنتر بخش ویژه خود را راه اندازی کرد! بخش ویژه ای که دارای 4 بخش » - محصولات کاربران - تولیدات انجمن - آموزش های ویژه بیسیک 4 اندروید - NoWrap در بخش ویژه ی انجمن محصولات را می توان به صورت تک فروش یا همان مزایده قرار داد.سورس کدهای کمیاب با قیمت های واقعی آن ها به یک نفر که بیشترین مبلغ را پیشنهاد بدهند فروخته می شود. در بخش ویژه آموزش هایی جهت استفاده از کتابخانه های جاوا بدون نیاز Wrap کردن ارائه می شود. در این بخش تولیدات گروهی انجمن که شامل ابزار ها و کد های خاصی می باشد را خواهیم افزود انجمن انسرسنتر این بخش را با اهدافی دور برد و استراتژیک راه اندازی کرده است که اولویت های اصلی به ذیل زیر هستند » 1 - درامدزایی برنامه نویسان انجمن، از طریق آموزش های تصویری، متنی، سورس کدها و . . . 2 - افزایش سطح کیفی نرم افزار های تولید شده چه به وسیله Android Studio و چه با نرم افزار B4A توسط ارائه آموزش های مناسب در بخش ویژه 3 - در این بخش افراد فعال در هفته و ماه به عنوان پاداش یا جایزه، فعال شدن قابلیت کاربری ویژه برای استفاده یک ماهه از بخش ویژه را دارا می شوند. 4 - و در نهایت کمک به رشد اقتصادی انجمن و کاربران انجمن توسط این بستر به وسیله ی شکوفا سازی داشته های خود در این بستر موجود. هدف اصلی ما در کنار رشد علمی و دانش، رشد اقتصادی نیز مد نظر قرار گرفته شده است. موفق و موید باشید. WWW.AnswerCenter.IR
  6. ویزارد StringEncryption

    با سلام به کاربرای عزیز یک ویزارد جهت رمزنگاری رشته برای شما کاربران تهیه کردیم. این ویزارد رو زمانیکه اجرا کنید، ورودی رشته رو خودتون دستی وارد می کنید و رمزنگاری شده رو بهتون تحویل میده. جهت اشنایی به ویزارد ویدیوی تهیه شده. می تونید ویدیو رو ببینید و جهت نیاز از نرم افزار AcStore می تویند به ویزارد دسترسی داشته باشید. لینک ابزار : https://answercenter.ir/stringencryption/ فایل کتابخونه » Lib StringEncryption.rar دانلود آموزش
  7. ویزارد B4AStringProtector

    سلام به کاربرای عزیز انسر سنتر ✋️ خب خب خب، اومدیم با یک محصول دیگه از پکیج امنیتی که قولشو دادیم. ویزارد Obfuscate Pro رو آماده کردیم برای ابهام سازی فایل APK، اما شاید برنامه نویسای عزیز B4A بخوان رشته های داخل پروژه رو ابهام سازی کنند، به گونه ای انکریپت کنن.شاید توی برنامتون چندین ماژول و چند صد یا هزار خط کد داشته باشید و این براتون آزار دهنده باشه که بخوایید رشته هارو انکریپت کنید و جاهایی که از رشته استفاده شده دیکریپت کنید. نگران نباشید عزیزان، ما این کار رو براتون در حد دو کلیک ساده راحت کردیم.(مگه میشه؟!!!!!) بله با ویزارد پرو که تیم انسرسنتر براتون تهیه کرده امکان پذیره در حد دو کلیک!!!! خیلی جالبه 20 تا ماژول داشته باشی که هر ماژول 10 تا رشته هم داشته باشی برای انکریپت میشه 200 تا رشته!!!بخوای انکریپت و دیکریپتشو بنویسید خودش کلی وقت از برنامه نویس میگیره. خب به همین راحتی و تنها کاری که باید انجام بدید، فایل پروژه b4a رو میدید به ویزارد مربوطه و به صورت خودکار تمامی روند کار رو انجام میده! نکته ی دیگه ای که باید بدونید این هستش که، برای رمزنگاری ما به رشته و کلید احتیاج داریم که کلید همون حکم رمز الگوریتم رو داره.اگر این کلید لو بره خب به راحتی تمام میشه رشته های رمز شده رو رمزگشایی کرد، ما فکر اینجارو هم کردیم.ما کلید رمزنگاری رو، SignKey پروژه قرار میدیم!!! کلیدی که اگر توسعه دهنده اونو گم کنه، دیگه توی هیچ مارکتی نمی تونه اون برنامه رو اپدیتش رو با همون پکیج داد بیرون.کلیدی که بدست اوردنش به همین راحتیا نیست چون اگر بدست اوردنش راحت بود، خیلی از برنامه های خوبی که دانلود بالا خورده بود، بدون اپدیت توی مارکت ها نمیموندن.SignKey به محض کرک شدن فایل apk از بین میره و قابل دسترسی نیست!!! ما اومدیم SignKey رو به عنوان Key الگوریتممون قرار دادیم!جالبه نه ؟!!! بهترین روش ممکن برای لو نرفتن همینی هست که فعل الحال قرار دادیم. این ویزارد که اسمش B4AStringProtector هستش در کنار ویزارد Obfuscate Pro میشن دو لایه امنیتی برای برنامه و پروژه هاتون. بهترین هارو براتون در نظر داریم.قطعا ویزارد های بعدی به همین خوبی و پر کاربردی این دو ویزارد خواهند بود. خب نکاتی که باید برای اجرای این ویزارد به عرضتون برسونم این هستش که حتما حتما از فایل پروژه یک بکاپ بگیرید، محض اطمینان. نکته بعدی اینکه ما اوایل کار یک ویزارد به اسم SQLSecurity قرار دادیم که در نوبه ی خودش محدودیت داشت و خب اومدیم یک ویزارد گسترده تر ارائه دادیم تا نیازی به اون ویزارد نباشه و از دسترس خارجش کردیم. بعد از رمز شدن تمامی رشته های پروژه شما احتیاج پیدا می کنید به یک کتابخانه که خودمون ساختیم و تنها شما همون کتابخونه رو به کتابخونه های بیسیک اضافه می کنید و کار خاصی نیاز نیست انجام بدید. نحوه استفاده از ویزارد هم توی پست بعدی همین تاپیک به صورت تصویری قرار داده میشه.
  8. با سلام حمیدرضا هستم! این بار با اندروید استودیو اومدم نسخه 2 + sdk و همه چی تموم لینک دانلود : Android-Studio-With-Sdk(www.AnswerCenter.ir).rar - 1.2 GB امیدوارم لذت ببرید رمز فایل: www.AnswerCenter.ir
  9. ویزارد SQLitePro

    با سلام ویزاردی رو در رابطه با SQLite رو براتون توی فروشگاه ACQuickPack قرار دادیم. سعی شده نیاز های کاربرای انجمن به وسیله ی این ویزارد مرتفع بشه. موفق و موید باشید.
  10. نرم افزار ACStore

    بعد از چندین هفته تلاش های متمادی بالاخره تونستیم نسخه ی بتا و آزمایشی رو پابلیش کنیم. خب سلامی عرض می کنم خدمت تمامی کاربران عزیز انجمن انسرسنتر، مژده ی یک خدمتی جالب و جدید در سطح اینترنت رو بهتون از الان میدم خب بریم سر اصل مطلب!چندین هفته بود که ACQuickPack از دهنمون نمیوفتاد و هی تاریخ میدادیم و فلان روز ریلیزش میاد و از اینجور حرفا، خواستیم توی این مدت قشنگ شمارو درگیر این خدمت جدید انجمن کنیم تا زمان ارائش با آمادگی بیایید جلو. اهداف بسیار بسیار بسیار بلند مدتی پشت این نرم افزار تولید شده، که مهمترین این ها جنبه های اقتصادی و آموزشی این برنامه هستش. این برنامه به صورت ویزارد گونه به شما خدماتی رو ارائه میده، شاید علامت سوالی توی ذهنتون بوجود بیاد ویزارد گونه یعنی چی ؟ ویزارد رو همیشه و همیشه دیدید ولی خب شاید توجه نکرده باشید!شما زمان Install یک برنامه با 4 تا کلیک به راحتی نرم افزاری رو نصب می کنید!!!!!!!!به این میگن ویزارد. فک کردین الان قراره به سرورای گوگل اتک بزنیم تا برسیم به ویزارد ؟؟؟ هدف ویزارد، راحتی و آسان بودن استفاده از یک نرم افزار، خدمت، آموزش و خیلی موارد دیگه هستش.اگر قبلا برای نوشتن یک تیکه کد PHP باید نت رو می گشتید و دغدغه ویرایش و اینا داشتید دیگه با این خدمت ویزاردی این مشکلات رو ندارید.شما یوزر پسورد و اسم جدول می دید طبق نیازتون یک سورس PHP تحویل میگیرید!! این اول راهه!!به اینجا ختم نمیشه!!! امنیت، مهمترین مبحث و مقوله توی جامعه ای که کپی رایت براش مهم نیست و هیچ احترامی به حق ناشر، برنامه نویس و . . .. قائل نمیشن. با این نرم افزار شما می تونید محصولاتتون رو به صورت ویزارد به کاربران ارائه بدید با مبالغی کم.بر فرض آموزش SQLite رو بنده به صورت ویزارد توی نرم افزار یا فروشگاه ویندوزی قرار دادم با مبلغ 1000 تومن. شاید همین آموزش به صورت ویدیو با مبلغ ده هزار تومن هزینش بشه، در صورتیکه داخل فروشگاه خود انجمن قرار بدیم. هدف از این نرم افزار ارائه به راحت ترین شکل، با کمترین هزینه.ارائه بیشترین خدمات با بهترین شکل ممکن. موضوع امنیت رو دیگه غصه شو نخورید چوت نیازی نیست شما از JNI و یادگیری CPP ترسی داشته باشید.ما اینجا سعی می کنیم تمامی مایحتاج امنیتی و بالاخذ از لحاظ پرفورمنس و کارایی رو براتون به وسیله JNI فراهم کنیم بدون اینکه شما یک خط کد CPP بنویسید. می تونید به راحتی استاندارد برنامه هاتون رو از لحاظ کارایی بالا ببرید و این بستگی به خودتون هم داره. خب در حال حاضر ویزارد هایی ابتدایی ساخته شده و در حال طراحی ویزارد های مختلفی هستیم. خب سوالاتی که امکان داره توسط کاربران پرسیده بشه. 1 - به چه شکل محصولات رو باید به این فروشگاه ارائه داد ؟ ♦ محصولات توی این فروشگاه ویزاردی بدین صورته که برای دیزاین از HTML می تونید استفاده کنید.برای کدنویسی ویزارد دو زبان B4J و JAVAScript.برای جفتشون api مورد نظر تعبیه شده.غصه نخورید آموزش کامل با مثال هایی در اختیارتون قرار میدیم. 2 - موضوع مالی به چه صورت هستش ؟ ♦ این فروشگاه ۷۰ به ۳۰ هستش.۷۰ تا به تولید کننده ویزارد میرسه و ۳۰ تا به ارائه دهنده. 3 - محصولات این فروشگاه با محصولات فروشگاه انجمن تداخل دارد ؟ ♦ هیچ محصولی از فروشگاه انجمن، توی این فروشگاه قرار داده نمی شود.یا توی این فروشگاه ویندوزی یا فروشگاه انجمن. 4 - تولید کنندگان محصول برای ACQuickPack قشر خاصی هستند ؟ ♦ خیر.هر فردی که توانایی تولید محصول به صورت ویزاردی را داشته باشد می تونه توی این فروشگاه محصول بزاره.طبق آموزش هایی که خودمون قرار میدیم. 5 - این فروشگاه محدود به محصولات بیسیک یا جاواست ؟ ♦ خیر!!! به هیچ وجه!!! این فروشگاه، یک بستر کاملا پویا هستش.روز به روز، هفته به هفته، ماه به ماه در حال رشد در تمامی زمینه های فعالیت حتی آموزش پروررش قارچ!!!.بستری کاملا پویا و بدون محدودیت دسته بندی ( در آینده ای ن چندان درو ) در یک کلام، ما یک فروشگاه تحت ویندوز راه انداختیم که خیلی از پیجیدگی هارو کم کرده و دسترسی به خیلی منابع رو راحت کرده و میکنه. آپدیت های SDK هم توی این ویزارد قرار داده میشه که با دوتا کلیک به راحتی کل SDK تون منابع و ریسورس هاش آپدیت میشه. خب هرچی از برنامه بگم بازم کم گفتم و توی یک تاپیک . پست نمیگنجه.امیدوارم نقد و بررسی درست مناسبی از برنامه بشه و متعصبانه هیچگونه نظری رو صادر نکنید. پیشنهادات شما و نظرات شما برای پیشرفت و سامان دادن این برنامه برای ما مهم هستش. ایمیل جهت فیدبک ها و مشکلات بروز داده شده » AnswerCenterStore@Gmail.Com توی همین تاپیک، آموزش و تصاویری قرار داده میشه. رمز فایل : answercenter.ir خب فایل نصبی نرم افزار » *** تغییرات: تغییر نام برنامه از ACQuickPack به ACStore به دلیل جامعیت فروشگاه اضافه شدن زبان جاوا برای ساختن ویزارد اضافه شدن قابلیت پرداخت در مرورگر اضافه شدن فیلتر زمان برای ویزارد ها.بدین شکل که می تونید برای ویزاردتون محدودیت زمانی بزاریدکه کاربر بتونه بعد از یک ساعت یا هر زمانی که مشخص می کنید به ویزارد خریداری شذه دسترسی داشته باشه.نکته ای که قابل توجه هستش اینه که ویزارد ها محصولات یکبار مصرف هستن، مثل کارت شارژ هایی که خرید می کنید و برای هر کارت شارژ باید هزینه بدید و ویزارد هم همچین ماهیتی داره. اضافه شدن قابلیت قرار دادن ویدیو داخل ویزارد. پشتیبانی از سیستم عامل های XP، 7 و . . . . . ( 32 و 64 بیتی ) دانلود نرم افزار » ACStore(Setup).rar *** تقدیر و تشکر خاص از آقای مهدی نژاد عزیز.امین مهدی نژاد بابت تمامی تلاش های بی وقفشون هرگونه سوالی دارید می تونید توی این تاپیک مطرح کنید.
  11. سلام امیدوارم توی ایام امتحانات حالتون و خوب و خوش باشه. خب از اونجایی که این ویو ( RecyclerView ) بسیار پرکاربرد و مهم هستش، خوبه که حالت های مختلفی که احتمال داره ما نیازمون باشه رو بررسی کنیم. خود بنده خواستم از یک اداپتر واسه تمامی ریسایکر های خودم که لایوت های متخلفی داشتن استفاده کنن، یعنی توی چندین اکتیویتی باید از ریسایکلر با لایوت های مختلف استفاده می کردم، از اونجایی که توی برنامه نویسی اندروید با اندروید استودیو مبتدی هستم، دنبالش رفتم و پیادش کردم، مَثَل قشنگی میگن که « کَس نَخوارد پُشت من جُزء ناخن انگشت مَن». خب مثال های مختلفی توی سایت های خارجی بود، و من خواستم طبق نیاز خودم پیادش کنم. خب طبق فرضیه ای که من پیاده کردم پیش میریم. من توی برنامه ام 2تا اکتیویتی داشتم، اکتیویتی اول لیست یکسری اسم ( مثلا اسم کشور ) توی ریسایکر اول نشون میدیم. اکتیویتی دوم هم قراره که تمامی استان های کشوری که توی اکتیویتی اول کلیک شده رو نمایش بده، پس اینجا هم یک ریسایکلر ویو نیاز داریم، با لایوت مخصوص به خودش. من برای پر کردن ریسایکر ویو اولی یک کلاس و برای ریسایکلر ویو دومی یک کلاس دیگه میسازم. برای کشور این کلاس » public class Country { private int code; private String countryName; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getCountryName() { return countryName; } public void setCountryName(String countryName) { this.countryName = countryName; } } و برای استان های کشور این کلاس رو می نویسیم » public class States { private int code; private String stateName; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getStateName() { return stateName; } public void setStateName(String stateName) { this.stateName = stateName; } } خب مشکل اونجاست که ما نمیدونیم از چندین لایوت چطور توی یک کلاس آداپتر استفاده کنیم. خب از اونجایی که که من دو تا لایوت دارم باید دوتا ViewHolder تعریف کنم، حالا به صورت InnerClass و یا به صورت فایل Java جداگانه ای.که من ترجیح میدم از نوع InnerClass.( تعریف کلاسی در داخل یک کلاس رو میگن InnerClass ). میریم که کلاس خام آداپتر رو پیاده کنیم » public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { } @Override public int getItemViewType(int position) { } public MyAdapter(List list){ } @Override public int getItemCount() { } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { } } خب بعدش میریم اون ویو هایی رو که توی اون دو تا لایوت ایجاد کردیم رو ViewHolder شون رو توی کلاس MyAdapter بنویسیم » public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { } @Override public int getItemViewType(int position) { } public MyAdapter(List list){ } @Override public int getItemCount() { } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { } private class CountryViewHolder extends RecyclerView.ViewHolder { TextView txtCountryName; public MyAdapterHolder(View view) { super(view); context = view.getContext(); txtCountryName = (TextView)view.findViewById(R.id.txtCountryName); } } private class MyAdapterCodesHolder extends RecyclerView.ViewHolder { TextView txtStateName; public MyAdapterCodesHolder(View view) { super(view); txtStateName = (TextView)view.findViewById(R.id.txtStateName); } } } ما اینجا مرحله به مرحله داریم تکمیل می کنیم کدهارو دوباره قرار میدیم.خب یک متغییر Context تعریف کردیم.این متغییر رو واسه این تعریف کردیم که هر وقت روی هر کشور کلیک شد بتونیم بریم اکتیویتی بعدی.توی کلاسی بجز اکتیویتی باید از Context استفاده کنیم. خب میریم سراغ مرحله بعدی، تعریف کردن دو تا متغییر برای اینکه بتونیم تشخیص بدیم قراره کشور هارو نمایش بدیم یا استان ها رو، private final int COUNTRY = 1; private final int STATE = 2; همونجایی که Context رو تعریف کردیم اینارو هم تعریف می کنیم. یک متغییر از نوع List هم تعریف می کنیم، واسه اسامی کشور و استان نیازمون میشه » private List lists; این رو هم به صورت فیلد تعریف کنید، یعنی کنار همون متغییر های Int بالا. حالا کاری که ما باید انجام بدیم با دو تا تابع getItemViewType و onCreateViewHolder هستش. یعنی این دو تا واس کارمون باید مد نظرشون داشته باشیم، با اولی میتونیم شرط بزاریم که اگر ریسایکلر استان بود بیا مقدار متغییر STATE رو برگردون، یا اگر کشور بود بیا COUNTRY رو برگردون. بعد توی دومی یک ورودی به عنوان type داره، اینو بگیریم شرط بزاریم که اگر فلان مقدار بود بیا فلان لایوت رو لود کن. الان کد جفتشون رو میزارم بررسی کنید » @Override public int getItemViewType(int position) { if(lists.get(position) instanceof Country) return COUNTRY; else if(lists.get(position) instanceof States) return STATE; else return -1; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { RecyclerView.ViewHolder viewHolder = null; LayoutInflater inflater = LayoutInflater.from(parent.getContext()); if(viewType == COUNTRY){ View v1 = inflater.inflate(R.layout.item_country, parent, false); viewHolder = new CountryViewHolder(v1); }else if(viewType == STATE){ View v1 = inflater.inflate(R.layout.item_state, parent, false); viewHolder = new StateViewHolder(v1); } return viewHolder; } خب توی اولین تابع گفتیم اگر ایتم مورد بررسی مربوط به کلاس فلان بود، فلان مقدار رو برگردون. توی تابع دوم هم گفتیم مقدار viewType این بود بیا این لایوت رو لود کن. در نهایت میریم تا اطلاعات رو توی ریسایکلر ویو بایند کنیم یا به نوبه ای تزریق کنیم. از onBindViewHolder استفاده می کنیم » public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { switch (holder.getItemViewType()){ case COUNTRY: CountryViewHolder countryHolder = (CountryViewHolder)holder; Country country =(Country) lists.get(position); countryHolder.txtCountryName.setText(country.getCountryName()); break; case CODES: StateViewHolder stateHolder = (StateViewHolder)holder; States states = (States)lists.get(position); stateHolder.txtStateName.setText(states.setStateName()); break; } } خب دیگه همین، چیزخاصی نداره کلا. در نهایت کدی که نوشته میشه » public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private final int COUNTRY = 1; private final int STATE = 2; private List lists; @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { switch (holder.getItemViewType()){ case COUNTRY: CountryViewHolder countryHolder = (CountryViewHolder)holder; Country country =(Country) lists.get(position); countryHolder.txtCountryName.setText(country.getCountryName()); break; case CODES: StateViewHolder stateHolder = (StateViewHolder)holder; States states = (States)lists.get(position); stateHolder.txtStateName.setText(states.setStateName()); break; } } @Override public int getItemViewType(int position) { if(lists.get(position) instanceof Country) return COUNTRY; else if(lists.get(position) instanceof States) return STATE; else return -1; } public MyAdapter(List list){ } @Override public int getItemCount() { return lists.size(); } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { RecyclerView.ViewHolder viewHolder = null; LayoutInflater inflater = LayoutInflater.from(parent.getContext()); if(viewType == COUNTRY){ View v1 = inflater.inflate(R.layout.item_country, parent, false); viewHolder = new CountryViewHolder(v1); }else if(viewType == STATE){ View v1 = inflater.inflate(R.layout.item_state, parent, false); viewHolder = new StateViewHolder(v1); } return viewHolder; } private class CountryViewHolder extends RecyclerView.ViewHolder { TextView txtCountryName; public MyAdapterHolder(View view) { super(view); context = view.getContext(); txtCountryName = (TextView)view.findViewById(R.id.txtCountryName); } } private class StateViewHolder extends RecyclerView.ViewHolder { TextView txtStateName; public MyAdapterCodesHolder(View view) { super(view); txtStateName = (TextView)view.findViewById(R.id.txtStateName); } } } آموزشی از انسر سنتر. امیدوارم مورد توجه قرار گرفته باشه.
  12. آموزش ایجاد تاپیک جدید در انجمن

    سلام و خسته نباشید خدمت کاربران عزیز خب برای کسایی که با ایجاد تاپیک جدید در انجمن آشنایی ندارن لازم هستش که یک آموزش کوتاهی در این مورد داشته باشیم... فرض کنید شما وارد صفحه اول انجمن با آدرس AnswerCenter.IR هستید خب توی این صفحه یک سری سربخش و بخش ها رو میبینید... سربخش ها مثل: بخش اطلاعات اصلی انجمن برنامه نویسی بیسیک4اندروید برنامه نویسی اندروید استودیو و ... خب حالا توی هر سربخش یک سری بخش های مرتبط با اون سربخش قرار داره... مثلا توی سربخش برنامه نویسی بیسیک4اندروید بخش های زیر قرار داره: آموزش های گام به گام برای مبتدی ها پرسش و پاسخ (بیسیک4اندروید) کتابخانه ها (Libraries) درخواست Wrap کردن کتابخانه سورس کدها قطعه کدها (Code Snippets) آموزش های تصویری آموزش های متنی ابزارهای B4A برنامه های ساخته شده توسط شما خب حالا فرض کنید شما توی بیسیک4اندروید یه جا مشکل دارید و یا سوال دارید پس در قسمت برنامه نویسی بیسیک4اندروید روی بخش "پرسش و پاسخ (بیسیک4اندروید)" کلیک میکنید تا وارد اون بخش بشید خب حالا همچین صفحه ای براتون باز میشه: طبق تصویر و شماره گذاری عمل کنید 1- عنوان تاپیک را مناسب و مختصر و دربرگیرنده ی متن سوال انتخاب کنید 2- متن کامل سوال را با حفظ احترام و مرتب وارد کنید (هرچقدر سوالتون بهتر و کامل تر و تمیز تر پرسیده بشه بدون شک زودتر جواب میگیرید) 3- اگر لازم است قطعه کدی قرار بدید روی فلش <> کلیک کنید و اون قطعه کد رو اونجا وارد کنید و گزینه افزودن به مطلب رو بزنید 4- اگر لازم است عکسی را برای نمایش قرار بدید طبق عکس 4 روی گزینه پیوست از رسانه های دیگر و سپس روی افزودن تصویر از آدرس کلیک کنید، سپس آدرس عکس آپلود شده رو در اونجا قرار بدید و سپش گزینه افزودن به مطلب رو بزنید نکته: سعی کنید حتما و حتما و حتما تمامی عکس ها و فایل هایی رو که قرار میدید بر روی سرور سایت PicoFile.com آپلود شده باشن چون سرعت و ماندگاری بالایی رو دارن 5- اگر میخواهید به محض اینکه کسی به سوال شما پاسخ داد در انجمن برای شما یک اعلامیه به نمایش در بیاد و شما رو از گرفتن پاسخ آگاه کنه قسمت 5 رو فعال کنید 6- در نهایت روش گزینه ارسال موضوع کلیک کنید تا تاپیک شما ایجاد شود (حداکثر تا 24) ساعت منتظر پاسخ بمانید... معمولا در کمتر از چند ساعت جوابتون رو میگیرید نکات اضافی: - بعد از سوال پرسیدن... بخصوص در دقایق ابتدایی سعی کنید حتما توی انجمن حضور داشته باشید چون شاید کسی از شما توضیحات تکمیلی بخواد و یا سوالی داشته باشه باید جواب اساتید رو بدید تا بتونن بهتر راهنمایی تون کنند - سعی کنید به طور مستقیم تمام کدهاتون رو نزارید و بگید بچه ها برنامم خطا میده ! چون معمولا هیچ جوابی نمیگیرید... اصولش اینه که توضیحات فارسی رو میدید که میخوام فلان کار رو انجام بدم و از این تیکه کد (فقط کد مربوط به جایی که خطا دارید) استفاده میکنم و این خطا رو هم دریافت میکنم. - به هیچ وجه سوالات مربوط به بحث آزاد و یا مربوط به بخش توسعه دهندگان رو با بخش پرسش و پاسخ قاطی نکنید و هر سوال رو حتما در بخش خودش مطرح کنید موفق و پیروز باشید
  13. سلام نسخه جدید شبیه ساز قدرتمند و سبک نوکس اپ پلیر ( Nox App Player ) منتشر شد. این نسخه تحت عنوان 3.3.0.0 در تاریخ 1395/01/24 معرفی شده است. شما می توانید این شبیه ساز را از سمیکالن دانلود نمایید. دانلود از سمیکالن ( به تب شبیه ساز رفته و Nox App Player را دانلود کنید. ) موفق باشید