我如何根据其在数组(Android)中的位置使用一个字符串数组条目?

Ben*_*Ben 0 arrays string android android-arrayadapter

我正在尝试制作一个简单的oracle应用程序,当你向应用程序询问一个问题时,它会根据随机数发出答案.

我做了一些研究,在我看来,最好的做法是为我的答案创建一个包含字符串数组的资源,然后我可以在数组中输入我的各种答案.

在我的主要活动的Java代码中,我可以在单击按钮时生成随机数.然后该随机数可以对应于索引的数量.

当我尝试将随机数和设施分块以在代码中一起访问字符串数组时,我的问题就来了.

这是我的answerStrings.xml文件的副本

<?xml version="1.0" encoding="utf-8"?>

<resources>
    <string-array
    name="answers">
    <item>Yes</item>
    <item>No</item>
    <item>Maybe</item>
    <item>Quite possibly</item>
</string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)

这是我的java代码:

import java.util.Random;

import android.app.Activity;
import android.content.res.Resources;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Vibrator;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener {

TextView    outputText;
MediaPlayer mpGobble;
Vibrator    vibr;
String[]    answers;
private Random myRandom = new Random();
int         randomNumber;

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

    //find the output text view for use within the activity

    outputText = (TextView)findViewById(R.id.textView01);

    outputText.setOnClickListener(this);

    //Declare an array of outputs
    Resources res = getResources();
    String[] answers = res.getStringArray(R.array.answers);
    //--------^ Problem

    outputText.setText("Ask your question then click me");
}


@Override
public void onClick(View src) {
    switch(src.getId()){
    case R.id.textView01:

        //creates a random number
        int randomNumber = myRandom.nextInt(3);

        String answer = answers[randomNumber];

        outputText.setText(answer);




            break;
    }

}
}
Run Code Online (Sandbox Code Playgroud)

我使用eclipse IDE用Java编程,因为你可能已经猜到我是游戏的新手!

非常感谢所有帮助!!

Mik*_* dg 7

下面的代码将把你的String资源数组放入一个名为answers的String []中.

Resources res = getResources();
String[] answers = res.getStringArray(R.array.answers);
Run Code Online (Sandbox Code Playgroud)

然后,您可以选择答案

String answer = answers[YOUR_RANDOM_WHOLE_NUMBER];
Run Code Online (Sandbox Code Playgroud)

一个FYI,资源中的字符串数组只能是512个条目. 一些字符串资源帮助 一些常规资源类帮助