Android - 圆形阵列

时间:2015-10-27 18:58:08

标签: android arrays

我有一系列的笑话 字符串笑话[] = {“x”,“y”,“z”,“j”}; 我正在使用下面和之前的两种方法前后左右。

public void nextJoke(View view) {
        if (jokeNumber < jokes.length - 1) {
            jokeNumber++;
            tv1.setText(jokes[jokeNumber]);

  }
    }

    public void prevJoke(View view) {
        if (jokeNumber > 0) {
            jokeNumber--;
            tv1.setText(jokes[jokeNumber]);

        }

我想给这个列表一个无尽的滚动功能。 这意味着如果用户下一个或上一个 - 并且列表到达最后三个元素,它应该再次从第一个元素开始。

我如何实现此功能。 这更像是一个编程问题。 任何帮助将受到高度赞赏。

3 个答案:

答案 0 :(得分:3)

使用余数运算符,您将获得所需的行为。

替换:

jokeNumber++;

使用:

jokeNumber = ++jokeNumber % jokes.length;

并对jokeNumber--;

执行相同的操作

答案 1 :(得分:0)

接下来:

next(){
 jokeNumber++;
 if(jokeNumber>=jokes.length) { jokeNumber =0;}
}

上一篇:

previous(){
 jokeNumber--;
 if(jokeNumber<=0) { jokeNumber =jokes.length;}
}

答案 2 :(得分:0)

public void nextJoke(View view) {
    if (jokeNumber < jokes.length ) {
        jokeNumber = ++jokeNumber % jokes.length;
        tv1.setText(jokes[jokeNumber]); } }

public void prevJoke(View view) {
    if (jokeNumber > 0) {
        jokeNumber = --jokeNumber % jokes.length;
        tv1.setText(jokes[jokeNumber]);

    }