PDA

View Full Version : ساخت دکمه Back در اکتیویتی



Apriliyaa
چهارشنبه 26 آذر 1393, 18:39 عصر
سلام یه اکتیویتی داریم که روش دو تا دکمه هست و هر یک از این دکمه ها ما رو به اکتیویتی مخصوصی به خودشون هدایت می کنند که داخل هر کدوم از این اکتیویتی های دومی لیست ویو قرار گرفته که باز هز کدوم از این لیست ویو ها به صورت مجزا اطلاعات رو از دیتابیس مخصوص به خودشون می خونن .....خوب تا اینجا همه چیز ok هست اما ....اگه برنامه برای اولین بار که اجرا میشه و کاربر به دکمه شماره یک رجوع می کنه و وارد لیست ویو شماره 1 میشه و می تونه از اطلاعات دیتابیس شماره یک هم استفاده کنه ... اما اشکال اینجاست که وقتی کاربر از دکمه back گوشی استفاده می کنه و برمی گرده تا با استفاده از دکمه دوم در اکتیوتی پایه ی ما وارد اکتیویتی که دومین لیست ویو رو داره استفاده کنه اطلاعات دیتابیس اولی رو نشون میده !
من خواستم با قرار دادن دکمه ای به نام بک در پایین هر کدوم از لیست ویو ها وقتی کاربر ازش استفاده کنه تمام اطلاعات و ببنده تا هر دو تا لیست ویو های ما از دیتابیس مربوط به خودشون استفاده کنن
در کل مشکل بنده اینه که با وجود دیتابیس مجزا برای هر لیست ویو باز هر کدوم از لیست ویو ها که زودتر باز بشن اون یکی لیست ویو هم از دیتابیس اون لیست ویووی که اول باز شده استفاده می کنه !!
چطور باید حلش کرد؟

saeed_g21
چهارشنبه 26 آذر 1393, 19:12 عصر
وقتی دگمه برگشت زده میشه همان اکتیویتی رو finish(); میکنی ؟

یک نگاهی هم به Query هرکدام بنداز ببین یکی نباشن

mehrdad_hellboy
چهارشنبه 26 آذر 1393, 19:14 عصر
من متوجه یه موضوعی نشدم تو تو لیست ویو هات مشکلت اینه که اطلاعات داخلشون با هم قاطی میشن ؟
یا میخوای یه دکمه بک برای هر کدوم بزاری اگه دکمه بک میخوای بزاری و نمیدونی در حال حاضر اکتیویتی ای که داری کدومه از
CurrentActivity استفاده کن
داخل کلاس جی یه currentActivity بزار و هر موقع بزنی G.currentActivity داری به اکتیوتی فعلی اشاره میکنی
میتونی بزنی
G.currentActivity.finish

Apriliyaa
چهارشنبه 26 آذر 1393, 19:42 عصر
ببینید مشکل اینجاست حالا هر طوری شده می خوام حلش کنم یا با دکمه بک که همه چیز رو پشت سر خودش ببنده و یا غیر ...

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

اگه برای اولین بار که برنامه رو اجرا می کنیم وارد لیست ویو 1 بشیم اطلاعات داخل دیتابیس شماره یک رو می خونه و نشون میده ولی الان اگه از برنامه خارج نشیم و بریم سراغ لیست ویو شماره ذو ، اونم برمیگرده به جای اینکه اطلاعات دیتابیس 2 رو بخونه ، اطلاعات دیتابیس 1 رو می خونه !!

و بر عکس !!

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

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