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

نمایش اطلاعات بعد از ثبت در دیتابیس


sir.ali

سوال

سلام دوستان

من یه اکتیویتی دارم که توش یه لیست ویو هست و یه دکمه داره

دکمه رو میزنم و میرم به اکتیویتی جدید و یه اطلاعاتی ثبت میکنم

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

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

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

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

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

سلام

میتونید توی Activity Resame در همون Activity اول کد مربوط به خوندن اطلاعات از دیتابیس رو قرار بدید.

دقیقا همون کدهای خودتون رو قرار بدید فقط با فرق اینکه یک کد به اولش اضافه کنید: Listview1.Clear

تست کنید نتیجه رو گزارش بدید *همینه*

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

سلام

میتونید توی Activity Resame در همون Activity اول کد مربوط به خوندن اطلاعات از دیتابیس رو قرار بدید.

دقیقا همون کدهای خودتون رو قرار بدید فقط با فرق اینکه یک کد به اولش اضافه کنید: Listview1.Clear

تست کنید نتیجه رو گزارش بدید *همینه*

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

بنظرتون چیکار کنم؟

راستی اون تب هاست هایی که قابلیت اسلاید دارن کتابخونه مخصوصی دارن یا همین تب هاسته؟

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

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

بنظرتون چیکار کنم؟

راستی اون تب هاست هایی که قابلیت اسلاید دارن کتابخونه مخصوصی دارن یا همین تب هاسته؟

چرا تب هاستو از اول اضافه کنی؟ خب تب هاست توی یک لایه در همون اکتیویتی قرار داره.

تب هاستت ثابته و چیزی که میخوای با هر بار ثبت همن لحظه تغییر کنه لیست ویو هستش دیگه.

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

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

چرا تب هاستو از اول اضافه کنی؟ خب تب هاست توی یک لایه در همون اکتیویتی قرار داره.

تب هاستت ثابته و چیزی که میخوای با هر بار ثبت همن لحظه تغییر کنه لیست ویو هستش دیگه.

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

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

لیست ویو رو بعد از هر عملیات ثبت اطلاعات از اول اطلاعات توش ثبت میشن ولی انگار چون توی لی اوت دیگه ای هست تا اون لی اوت رو دوباره لود نکنم تغییری نمیکنه

برای دوباره لود کردن لی اوت توی تب هاست من راهی بجز اد کردن یه تب جدید ندیدم

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

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

لیست ویو رو بعد از هر عملیات ثبت اطلاعات از اول اطلاعات توش ثبت میشن ولی انگار چون توی لی اوت دیگه ای هست تا اون لی اوت رو دوباره لود نکنم تغییری نمیکنه

برای دوباره لود کردن لی اوت توی تب هاست من راهی بجز اد کردن یه تب جدید ندیدم

توی یک Activity شما 20 تا Layout هم که داشته باشید باید ListView کارشو انجام بده *تعجب3*

شما وقتی کد نویسی رو انجام میدید حقیقتا دارید کد نویسی Activity رو انجام میدید نه کد نویسی Layout !

اگه میشد سورس کدتون رو پیوست میکردید خیلی بهتر میشد درک کرد مشکلتون رو و حلش کرد

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

با کد پایین کار کردی؟

Sub TabHost1_TabChanged




If TabHost1.CurrentTab= 1 Then  


'بازخوانی اطلاعات


End If

End Sub

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

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

این کد مربوط به تبی که داخلش هستی :

[color=#000000][font=Courier New]TabHost1.CurrentTab[/font][/color]

خب میتونی شرط بزاری که اگه تب انتخابی مثلا 1 بود بیا لیست ویو رو پاک کن و تابع رو فراخوانی کن

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

if TabHost1.CurrentTab = 1 Then 
ListView1.Clear
LoadData  '- > Your Method For Load Data
Else
TabHost1.CurrentTab = 1
End If

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

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

این تابع توی activity_resume هم صدا زده میشه

Sub loadlistnew()
   crsCustomer = data.ExecQuery("SELECT * FROM Customer ORDER BY cID DESC")
   lvNew.Clear
   For i = 0 To crsCustomer.RowCount-1
       crsCustomer.Position = i
       crsObject = data.ExecQuery("SELECT * FROM Object WHERE State='جدید' AND cID='"&crsCustomer.GetString("cID").Trim() &"'")

       For j = 0 To crsObject.RowCount-1
           crsObject.Position = j

           lvNew.AddTwoLines(crsCustomer.GetString("cID")&" - "&crsCustomer.GetString("cName"),crsObject.GetString("eDate")&" - "& crsObject.GetString("Type")&" "&crsObject.GetString("Mark")&" "&crsObject.GetString("Model") &" - مشکلات: "&crsObject.GetString("Descr"))

           'Change Dir to rtl
           Dim lbl,lbl2 As Label
           lbl = lvNew.TwoLinesLayout.Label
           Font(lbl,20,"BYekan")
           lbl.Left=lbl.Left - 2dip
           lbl2 = lvNew.TwoLinesLayout.SecondLabel
           Font(lbl2,15,"BYekan")
           lbl2.Left = lbl2.Left - 2dip

       Next
   Next

End Sub

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

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

این کد مربوط به تبی که داخلش هستی :

[color=#000000][font=Courier New]TabHost1.CurrentTab[/font][/color]

خب میتونی شرط بزاری که اگه تب انتخابی مثلا 1 بود بیا لیست ویو رو پاک کن و تابع رو فراخوانی کن

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

if TabHost1.CurrentTab = 1 Then 
ListView1.Clear
LoadData  '- > Your Method For Load Data
Else
TabHost1.CurrentTab = 1
End If

چطور میشه شرط گذاشت؟ اخه تب هاستم تغییری نمیکنه!

فقط توی یه اکتیویتی یه سری اطلاعات ثبت میشه و اکتیویتی بسته میشه و میاد توی اکتیویتی قبلی که تب هاست هست

میخوام وقتی که اون اکتیویتی بسته میشه اطلاعات توی تب هاستم آپدیت بشن و چیزایی که ثبت کردم نشون بده

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

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

اما اگر کلا در یک اکتیویتی دخیره و در یک اکتیویتی دیگه فراخوانی میشه هم از Activity_Resume میتونی استفاده کنی هم Activity_Create... البته وقتی که از این اکتیویتی میری بیرون اکتیویتی رو فینیش کن

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

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

اما اگر کلا در یک اکتیویتی دخیره و در یک اکتیویتی دیگه فراخوانی میشه هم از Activity_Resume میتونی استفاده کنی هم Activity_Create... البته وقتی که از این اکتیویتی میری بیرون اکتیویتی رو فینیش کن

ببینید دوست عزیز، یک اکتیویتی دارم که اکتیویتی اصلی هست و تب هاست هم توی همین اکتیویتی هست که توی اون لیست ویو هست و با باتن های مختلف ارجاع داده میشه به اکتیویتی های دیگه مثل همین ثبت اطلاعات. وقتی که من اطلاعاتی رو ثبت میکنم و اکتیویتی بسته میشه و به صفحه اصلی برمیگردم میخوام تب هاست هم اطلاعاتی که ثبت کردم رو نشون بده ولی خب رویدادی که اینکار رو بکنه نمیدونم چی هست. از resume و create هم استفاده کردم ولی فایده نداره فقط باید از برنامه برم بیرون و مجدد بازش کنم تا اظلاعاتم نشون بده.

بعداز ثبت اطلاعات و بسته برگشتن به صفحه اصلی چه رویدادی اتفاق می افته که من تابع بروز کردن اطلاعات لیست ویو رو اونجا فراخوانی کنم؟

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

ببینید دوست عزیز، یک اکتیویتی دارم که اکتیویتی اصلی هست و تب هاست هم توی همین اکتیویتی هست که توی اون لیست ویو هست و با باتن های مختلف ارجاع داده میشه به اکتیویتی های دیگه مثل همین ثبت اطلاعات. وقتی که من اطلاعاتی رو ثبت میکنم و اکتیویتی بسته میشه و به صفحه اصلی برمیگردم میخوام تب هاست هم اطلاعاتی که ثبت کردم رو نشون بده ولی خب رویدادی که اینکار رو بکنه نمیدونم چی هست. از resume و create هم استفاده کردم ولی فایده نداره فقط باید از برنامه برم بیرون و مجدد بازش کنم تا اظلاعاتم نشون بده.

بعداز ثبت اطلاعات و بسته برگشتن به صفحه اصلی چه رویدادی اتفاق می افته که من تابع بروز کردن اطلاعات لیست ویو رو اونجا فراخوانی کنم؟

یک دمو از سورس برنامه یا خود سورس برنامه رو قرار بدید خب . اگه قرار داده بودید تا حالا مشکتون حل شده بود.

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

اگر موقع رفتن به اکتیویتی دوم، اکتیویتی اول رو فینیش میکنی...راه حل دیگه بذهنم نمیرسه(البته اگر کدهای اصلیتو ببینم شاید بتونم کمیکی کنم)

ضمنا اگر برات مشکلی نداره میتونی یه باتم بذاری ک خوده کاربر بعد از تغییر در اطلاعات لیست رو رفرش کنه

اگر از لو رفتن ایده میترسی میتونی سورس رو برای اقا مهدی خصوصی بفرسی تا کمکت کنن(از کیسه خلیفه بخشیدم*زبونک*

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

بایگانی شده

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

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

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