如何在用户执行单击时显示数组中的随机项

时间:2016-08-20 09:15:25

标签: android

我有一个包含5个元素的数组,我希望每次用户点击按钮时都会显示此列表中的随机项。

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

    final TextView textview = (TextView) findViewById(R.id.textView);
    final List<String> list = new ArrayList<>();

    list.add("item 1");
    list.add("item 2");
    list.add("item 3");
    list.add("item 4");
    list.add("item 5");

我试过了:

    final Button button = (Button) findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            Random random = new Random();
            int index = random.nextInt(list.size());
            textview.setText(getString(index));

        }
    });

但是我点击了一个错误:

FATAL EXCEPTION: main
                                                             Process: activfy.activfy, PID: 18639
                                                             android.content.res.Resources$NotFoundException: String resource ID #0x72
                                                                 at android.content.res.Resources.getText(Resources.java:250)
                                                                 at android.content.res.Resources.getString(Resources.java:336)
                                                                 at android.content.Context.getString(Context.java:345)
                                                                 at activfy.activfy.MainActivity$1.onClick(MainActivity.java:159)

1 个答案:

答案 0 :(得分:1)

行textview.setText(getString(index))中的错误; 用textview.setText(list.get(index));

替换它