PDA

View Full Version : عدد تصادفی برای ورود به صفحات



narges_g
یک شنبه 05 مرداد 1393, 02:07 صبح
یه دکمه در صفحه اصلی دارم و چند تا اکتیویتی
چطور میتونم بصورت تصادفی وارد اکتیویتی ها بشم ؟

saeidpsl
یک شنبه 05 مرداد 1393, 04:37 صبح
بفرما


Random rnd = new Random();
int x=rnd.nextInt(3)+1;
Intent myIntent = new Intent();
switch(x){
case 1:
myIntent.setClass(view.getContext(),Scrn1.class);
break;
case 2:
myIntent.setClass(view.getContext(), Scrn2.class);
break;
case 3:
myIntent.setClass(view.getContext(), Scrn1.class);
break;
}
startActivity(myIntent);

narges_g
یک شنبه 05 مرداد 1393, 10:24 صبح
مرسی
ولی من میخوام اگه یه بار رفت به یه صفحه ، دفعه بعدی دیگه به اون صفحه نره ولی برای بقیه صفحات رندم باشه
اون وقت وقتی که همه صفحات یه بار با رندم باز شده بودن ، دوباره از اول به همین شکل زندم صورت بگیره

narges_g
یک شنبه 05 مرداد 1393, 13:28 عصر
نمیدونم منظورمو خوب رسوندم یا نه

saeidpsl
یک شنبه 05 مرداد 1393, 14:00 عصر
باید از arraylist استفاده کنی
مثلا لیست این میشه (1,2,3) اوکی اگه مثلا رفت اکتیویتی شماره دو بعد بیاد شماره 2 رو از لیست پاک کنه اینجوری که دیگه نشون نمیده وقتی هم خالی بود arraylist رو برگردون مثل اول.


کد اضافه کردن و رندم گرفتن


ArrayList<Item> arList = new ArrayList<Item>();
Integer[] otherList = new Integer[] {1,2,3};
arList.addAll(Arrays.asList(otherList));
Random randomGenerator = new Random();
int index = randomGenerator.nextInt(arList.size());
Item item = arList.get(index);


کد پا کردن ایتم ArrayList


arList.remove(id);

narges_g
یک شنبه 05 مرداد 1393, 14:26 عصر
میشه بگید جای اینا کجای کد بالاس
آخه روی addAll ایراد میگیره و میگه تغییرش بده به add
اگه میشه توی کد بالا جاشون بده
ببخشید زیاد وقتتون رو میگیرم

saeidpsl
دوشنبه 06 مرداد 1393, 05:38 صبح
نمونه (http://barnamenevis.org/showthread.php?401729-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF&p=2070959&viewfull=1#post2070959)...................

narges_g
دوشنبه 06 مرداد 1393, 20:03 عصر
ممنون خیلی عالی بود و بدرستی جواب داد :تشویق:
فقط چیزی که کم داره اینه که وقتی من مثلا 20 تا اکتیویتی داشته باشم ، اگه برنامه رو یه بار باز کنم و 5 تا از اکتیویتی ها رو بصورت تصادفی باز کنم و برنامه رو ببندم ، در دفعه بعدی که برنامه رو باز میکنم دوباره اون 5 تا اکتیویتی که قبلا دیده بودم در رندم استفاده میشن و میان در صورتی که من میخوام اگه حتی برنامه بسته شد و دوباره باز شد ، اکتیویتی هایی که قبلا دیده شدن در رندم استفاده نشه تا یه بار همه 20 اکتیویتی نشون داده بشن و بعد دوباره از اول این کار صورت بگیره
نمیدونم همچین کاری میشه ؟!
فکر کنم با SharedPreferences میشه ولی من نمیدونم چجوری !
لطفا کمک کنید