Randomly pick an index from an array, display in TextView Code Answer

Hello Developer, Hope you guys are doing great. Today at Tutorial Guruji Official website, we are sharing the answer of Randomly pick an index from an array, display in TextView without wasting too much if your time.

The question is published on by Tutorial Guruji team.

I’m new to Android development and I’m wondering why my code crashes the Android Emulator. What I’m doing is creating an array of strings, then picking an index from the array at random and displaying the value inside a TextView. But it always seems to crash my emu.

package com.test.randomTest;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class randomTestActivity extends Activity {

    private Button button;
    private TextView helloTextView;
    private String[] hellos;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        helloTextView = (TextView)findViewById(R.id.helloText);
        button = (Button)findViewById(R.id.button);

        hellos = new String[7];
        hellos[0] = "Hello";
        hellos[1] = "G'days";    
        hellos[2] = "Yo!";
        hellos[3] = "Hi";
        hellos[4] = "Hay";
        hellos[5] = "Bonjour";
        hellos[6] = "Hay there!";
        hellos[7] = "Hallo";

        button.setOnClickListener(buttonListener);

    }

    private OnClickListener buttonListener = new OnClickListener() {

        public void onClick(View v) {

            int x = 0 + (int)(Math.random() * ((7 - 0) + 1));
            String helloText = hellos[x];
            helloTextView.setText(helloText);

        }
    };
}

Any help/advice would be great!

Thanks.

Answer

You created a String[] of size 7.

hellos = new String[7];

Therefore the indices range from 0 to 6. Trying to access hellos[7] will cause an IndexOutOfBoundsException.

We are here to answer your question about Randomly pick an index from an array, display in TextView - If you find the proper solution, please don't forgot to share this with your team members.

Related Posts

Tutorial Guruji