سلام
به نظر من بهتره اول یه متد بسازید
داخل اون یک چرخه بسازید که به یک تعداد خاص ( که از شما مثلا 20 هست ) عدد راندوم بسازه و مقدار های اون رو داخل یک ArrayList بریزه
بعد یک دکمه بسازید که اون مقدار رو دریافت کنه و برابر یک ارای لیست جدید قرار بده و با هر دفه زدن روی دکمه اولین ایتم ارای لیست رو حذف کنه یا بگیره بریزه داخل یک ارای لیست دیگه ( که من داخل کدم از حذف استفاده کردم ) و با فشردن هر بار دکمه اون مقداری که داخل ایتم 0 هست رو فقط نشون بده و وقتی ایتم هامون تموم شد با یه کد دستوری که قراره تعداد ایتمهای ارای لیست رو بگیره بفهمیم ایتم هامون تموم شده و یک پیام یا هر چیز دیگه به کاربر نشون بده یا کد رو از اول شروع کنه
کدی که من برای این موضوع نوشتم براتون این هست شاید روش های سادتری برای این کار باشه ولی نظر من اینه فعلا اگه کسی هست نظر دیگه ای داشته باشه حتما بگه ممنون
موفق باشید
به نظر من بهتره اول یه متد بسازید
داخل اون یک چرخه بسازید که به یک تعداد خاص ( که از شما مثلا 20 هست ) عدد راندوم بسازه و مقدار های اون رو داخل یک ArrayList بریزه
بعد یک دکمه بسازید که اون مقدار رو دریافت کنه و برابر یک ارای لیست جدید قرار بده و با هر دفه زدن روی دکمه اولین ایتم ارای لیست رو حذف کنه یا بگیره بریزه داخل یک ارای لیست دیگه ( که من داخل کدم از حذف استفاده کردم ) و با فشردن هر بار دکمه اون مقداری که داخل ایتم 0 هست رو فقط نشون بده و وقتی ایتم هامون تموم شد با یه کد دستوری که قراره تعداد ایتمهای ارای لیست رو بگیره بفهمیم ایتم هامون تموم شده و یک پیام یا هر چیز دیگه به کاربر نشون بده یا کد رو از اول شروع کنه
کدی که من برای این موضوع نوشتم براتون این هست شاید روش های سادتری برای این کار باشه ولی نظر من اینه فعلا اگه کسی هست نظر دیگه ای داشته باشه حتما بگه ممنون
کد پیاچپی:
ArrayList<Integer> integerList = getRandomSubset(20);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (integerList.size()==0){
integerList = getRandomSubset(20);
}else {
btn.setText(String.valueOf(integerList.get(0)));
integerList.remove(integerList.get(0));
if (integerList.size()==0)
btn.setText("تمام شد");
}
}
});
}
public ArrayList<Integer> getRandomSubset(int max){
ArrayList<Integer> number = new ArrayList<Integer>();
for (int i = 1; i <= max; ++i) number.add(i);
Collections.shuffle(number);
return number;
}
موفق باشید