4

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

public class StringsA {

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

}

在我的主要课程中,有 aButton和 a TextView。我想要的是TextView每次Button单击时将 的文本设置为与字符串数组不同的单词。例如; 当前项目是“萌”,当点击按钮时,TextView变化为“约翰”(变化是随机的,不是按顺序变化的)。

我当前的活动代码:

    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. 单击时,我应该如何将TextView文本更改为字符串之一Button

4

2 回答 2

24

充分利用 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);
        }
    });
  }
于 2012-10-15T18:04:34.923 回答
0

在 onClick 方法中添加以下两行

int readomIndex = (int)(Math.random() * 3);
b.setText( Names[readomIndex]);
于 2012-11-05T02:02:21.633 回答