Java – Image intent does not open randomly. If I press the image so that the intent works

Image intent does not open randomly. If I press the image so that the intent works… here is a solution to the problem.

Image intent does not open randomly. If I press the image so that the intent works

I have six pictures. If I press the first image the intent is working. But if I press the third picture first, it doesn’t work. It is working in order.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

ImageView imageView = (ImageView) findViewById(R.id.indoor_activities);
    imageView.bringToFront();
    imageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    Intent myIntent = new Intent (MainActivity.this,indoorActivities.class);
    startActivity(myIntent);

ImageView imageView = (ImageView) findViewById(R.id.outdoor_activities);
    imageView.bringToFront();
    imageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    Intent myIntent = new Intent(MainActivity.this, outdoorActivities.class);
    startActivity(myIntent);

Solution

You are setting up additional View click listeners in R.id.indoor_activities

In the code above, you’re saying that if the user clicks indoor_activities first, the click listener is assigned to the outdoor_activities each time.

Solve this problem

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

ImageView imageView = (ImageView) findViewById(R.id.indoor_activities);
    imageView.bringToFront();
    imageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    Intent myIntent = new Intent (MainActivity.this,indoorActivities.class);
    startActivity(myIntent);
});// click listener for indoor activities
 click listener for outdoor activities when onCreated is called
    ImageView imageView = (ImageView) findViewById(R.id.outdoor_activities);
    imageView.bringToFront();
    imageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    Intent myIntent = new Intent(MainActivity.this, outdoorActivities.class);
    startActivity(myIntent);
});

Related Problems and Solutions