【问题标题】:Navigating an Array (Android String Array)导航数组(Android 字符串数组)
【发布时间】:2011-04-24 14:15:31
【问题描述】:

我是 android 开发的新手,但现在我正在开发一个显示随机事实的应用程序。由于我不希望它以随机顺序排列,因此我希望将它们列在一个列表中。我想通过它们一一排序并使用 TextView 显示它们。

Resources res = getResources();
myString = res.getStringArray(R.array.FactsArray); 

这就是我目前所拥有的。如果我是对的,那只是建立了数组,以便我以后可以使用它。我之前使用的是 rgenerator,它从数组中选择一个随机字符串并在我单击按钮时显示它。

Resources res = getResources();
myString = res.getStringArray(R.array.myArray); 

fact = myString[rgenerator.nextInt(myString.length)];

TextView tv = (TextView) findViewById(R.id.text1);
tv.setText(fact);

但就像我说的,我想在单击按钮时一个一个地排序。

【问题讨论】:

    标签: android arrays string list textview


    【解决方案1】:

    由于您是按顺序显示字符串,因此您需要一个计数器变量来跟踪您在数组中的位置。它应该被初始化为零。每次单击按钮时,它都会递增,直到到达数组的末尾 (myString.length - 1)

    就实际的事件处理而言,这并不难。您只需为您的按钮创建一个setOnClickListener()

        int count = 0;
        Button b1 = (Button) findViewById(R.id.buttonName);
        b1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                if (count < myString.length) {
                    tv.setText(myString[count]);
                    count++;
                }
            }
        });
    

    【讨论】:

    • 谢谢!不过,我还有一个问题,如果你还在读这篇文章……电视在“tv.setText(myString[count];”上是什么意思?
    • 我指的是您发布的初始化 TextView tv = ... 的代码所以为了回答您的问题,tv.setText(myString[count]); 会将 TextView 的文本设置为当前字符串。此外,如果需要,您可以在一行中运行整个条件语句,使用 tv.setText(myString[count++]);
    • 没问题!请选择此作为问题的答案,如果这是您正在寻找的内容,请点赞。
    猜你喜欢
    • 1970-01-01
    • 2015-09-25
    • 2021-10-30
    • 1970-01-01
    • 2017-07-02
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多