سلام
یک دیتابیس دارم که مقادیرش متغیر با زمان هست.چون مقادیر را از طریق متصل شدن به کامپیوتر می گیره .برای اینکه هر ثانیه مقادیر آپدیت بشه ،از تایمر استفاده کردم
حالا می خوام این دیتابیس را تو یه لیست نشون بدم از کد زیر استفاده کردم .لیست نشون داده میشه ولی اگه لیستم سطرهاش زیاد باشه نمی تونم لیست را بالا و پایین کنم.و همون سطرهایی بالا میمونه چون هر ثانیه داره طبق کد زیر به لیست اضافه می کنه.که چون مقادیر متغیر بازمان بود دوباره باید از تایمر استفاده می کردم...بدون تایمر هم تست کردم نتیجه نگرفتم.چی کار کنم این جور دیتابیس ها را نشون بدم؟
_timer1 = new System.Threading.Timer((o) => { RunOnUiThread(() => { string dpPath1 = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "user.db3"); //Call Database var db1 = new SQLiteConnection(dpPath1); var data6 = db1.Table<LoginTable>(); //Call Table var data5 = new List<string>(); foreach (var listing in data6) { data5.Add(listing.info + " " + listing.value); } ListView listnames = FindViewById<ListView>(Resource.Id.listView1); ArrayAdapter<string> adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleExpandableListItem1, data5); listnames.Adapter = adapter; RunOnUiThread(() => adapter.NotifyDataSetChanged()); ; / }); } , null, 0, 500);
اگر تعداد اعضای لیست بالاست صفحه بندی کنید و هر بار تعداد مشخصی را به لیست ادد کنید تا برنامه بتونه مدیریت کنه
برنامه اینجوری هست که کاربر میاد اون اطلاعاتی که لازم داره را اضافه می کنه به دیتابیس .برنامه متصل میشه به کامپیوتر.اطلاعات را میخونه و نمایش میده.حالا اگه زیاد باشه اطلاعاتی که کاربر خواسته اون اطلاعات نمیشه تو یه صفحه نشون داد؟راهی نداره؟
میشه از asynchronous استفاده کنید
برنامه نویسی موازی
این یه نمونه برنامه برای آپدیت کردن لیست ویو ,هر کاری می کنم که لیست آپدیت بشه ، نمیشه!لطفآ کمک کنید.می خوام لیست اپدیت بشه!چیزی به لیست اضافه نشه.(چیزی که تو دیتابیس هست را نشون بده)
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)