Android以编程方式加载字符串数组

标签 android string

我有一个名为 StringsA 的类,里面有一个字符串数组:

public class StringsA {

static String Names[] = {"Larry", "Moe", "Curly", "John"};  

}

在我的主类中有一个Button 和一个TextView。 我想要的是每次单击 Button 时将 TextView 的文本设置为与字符串数组不同的单词。 例如;当前项目是“Moe”,单击按钮时,TextView 更改为“John”(更改是随机的,而不是按顺序)。

我当前的 Activity 代码:

    setContentView(R.layout.main);
    Button a = (Button) findViewById(R.id.button1);
    TextView b = (TextView) findViewById(R.id.tv);        

    Resources i = getResources();
    i.getResourceName(StringsA.Names);

    a.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {               

        }
    });
}

我在 i.getResourceTypeName 中遇到错误。单击 Button 时,我应该如何将 TextView 文本更改为字符串之一?

最佳答案

充分利用 Android 资源,从 strings.xml 中定义的字符串数组加载您的值。例如

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
    </string-array>
</resources>

然后:

  private static final Random RAND = new Random();

  public void onCreate(Bundle savedInstanceState) {
    setContentView(R.layout.main);
    Button myButton = (Button) findViewById(R.id.button1);
    TextView myTextField = (TextView) findViewById(R.id.tv);     

    final String[] values = getResources().getStringArray(R.array.planets_array);
    myButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {     
          String nextValue = values[RAND.nextInt(values.length)]          
          myTextField.setText(nextValue);
        }
    });
  }

关于Android以编程方式加载字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12901333/

相关文章:

android - 如何将 DiffUtil.Callback 与具有页眉和页脚的 RecyclerView 一起使用?

Android:如何获取自定义 View 的高度和宽度?

php - 返回字符串第一次出现之前和之后的单词

c - 如何在函数中检查 C 中的类型

html - 具有空元素的 div 或 span 的最小高度

java - 如何使用 getPurchases() - Android

javascript - Android 上的本地 Ajax 请求/Sencha/PhoneGap

android - 具有默认日期的日期选择器

C++ Win32 API 包括 <string>

将字符串复制到结构体 C 中