У меня активность A, B и C.Случайное число без перезапуска дубликата, когда активность
В активности B У меня есть генератор случайных чисел и Collections.shuffle(). Это дает мне случайное число в следующей деятельности С.
Затем я использовать кнопку, чтобы вернуться к активности B и снова перезапустить весь процесс, , но это дает мне дублирует в C, так как весь Collections.shuffle() перезапуск I Угадай.
Мне нужно получить случайные числа без дубликатов, когда я перехожу от B к C, делая это повторно.
АКТИВНОСТЬ B:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
Button a = (Button) findViewById(R.id.button1); // Here the R.id.button1 is the button from you design
a.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
ArrayList<Integer> randomNumber = new ArrayList<Integer>();
for (int i = 1; i <= 17; ++i) randomNumber.add(i);
Collections.shuffle(randomNumber);
int random = randomNumber.get(0);
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
intent.putExtra("Value",random);
startActivity(intent);
}
});
Button b = (Button) findViewById(R.id.button2); // Here the R.id.button1 is the button from you design
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
ArrayList<Integer> randomNumber = new ArrayList<Integer>();
for (int i = 18; i <= 35; ++i) randomNumber.add(i);
Collections.shuffle(randomNumber);
int random = randomNumber.get(0);
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
intent.putExtra("Value",random);
startActivity(intent);
}
});
Button c = (Button) findViewById(R.id.button3); // Here the R.id.button1 is the button from you design
c.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
ArrayList<Integer> randomNumber = new ArrayList<Integer>();
for (int i = 36; i <= 50; ++i) randomNumber.add(i);
Collections.shuffle(randomNumber);
int random = randomNumber.get(0);
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
intent.putExtra("Value",random);
startActivity(intent);
}
});
АКТИВНОСТЬ C:
public class Main2Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main2);
Button back = (Button) findViewById(R.id.buttonback); // Here the R.id.button1 is the button from you design
back.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
odstevalnik.cancel();
Intent i = new Intent(Main2Activity.this, MainActivity.class);
startActivity(i);
}
});
Bundle bundle = getIntent().getExtras();
int random = bundle.getInt("Value");
TextView text = (TextView) findViewById(R.id.textView1);
if (random==1) {
text.setText("blabla");
image.setImageResource(R.drawable.img2);
stopnja.setImageResource(R.drawable.stopnja1);
Toast.makeText(getApplicationContext(), "blabla",
Toast.LENGTH_LONG).show();
}
.....
Не могли бы вы проиллюстрировать, что вы хотите на примере? Когда вы вызываете активность C из B и получаете, например, число «6», вы хотите иметь «6» из любых будущих случайных совпадений, правильно? – NitroNbg
Точно, при переходе на C из B повторно я хочу 6 из. – user3041073