zxd_72 2012-11-02 09:46 采纳率: 0%
浏览 7151
已采纳

Android中程序化加载字符串数组

我有一个类StringsA,在这个类中有一个字符串列表。

public class StringsA {

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

}

在主类中有一个button和textview。我想实现的是每次当按钮被点击时,textview能用.setText从字符串中调用一个不同的名字。例如,现在的名字是Moe,当点击按钮后,textview的名字变成 John。名字的变化是随机的,没有顺序。

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里的字符串名称?

  • 写回答

3条回答

  • nana4ever 2012-11-05 02:05
    关注

    充分利用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);
            }
        });
      }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛