将字符串调用到字符串类中

时间:2016-05-25 20:00:26

标签: java android xml

我在我的应用中使用random来显示不同的内容。 我有两个XML Ress文件,其中包含一些句子,但我无法使用random选择XML Ress

这样的工作:

[Choose a nickname from 4 edittext] + [Choose a XML Ress] + [Choose a nickname from 4 edittext]

此代码采用随机昵称,这是有效的。但问题出在XML Ress ......

编辑:第二个问题是caused by: java.lang.NullPointerException: Attempt to get length of null array at com.XX.onCreate(phrasesgenerator_players.java:65)。这一行是choosegame[rgenerator.nextInt(choosegame.length)] 活动(已修改):

public class phrasesgenerator_players extends AppCompatActivity {
    private static final Random rgenerator = new Random();
    private TextView tv;
    String[] playerge;
    private String[] myString;
    private String[] myString2;
    private String[] choosegame = (String[]) ArrayUtils.addAll(myString, myString2);


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            Window window = getWindow();
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            window.setStatusBarColor(Color.parseColor("#2980b9"));
        }
        setContentView(R.layout.activity_phrasesgenerator);

        View view = this.getWindow().getDecorView();
        view.setBackgroundColor(Color.parseColor("#3498db"));

        playerge= new String[] {"player1", "player2", "player3", "player4"};

        Resources res = getResources();

        Random random = new Random();

        myString = res.getStringArray(R.array.phrases_avecjoueurs);
        myString2 = res.getStringArray(R.array.phrases_avecjoueurs_defis);

        String q =
                getIntent().getExtras().getString(playerge[random.nextInt(playerge.length)])
                        + " "
                        + choosegame[rgenerator.nextInt(choosegame.length)]
                        + " "
                        + getIntent().getExtras().getString(playerge[random.nextInt(playerge.length)]);

        tv = (TextView) findViewById(R.id.textView);
        tv.setText(q);
    }
}

我尝试使用:

choosegame = new String[]{myString, myString2};

但我有:不兼容类型。找到:'java.lang.string []',必需'java.lang.string'。

我也尝试使用

getString(choosegame[rgenerator.nextInt(choosegame.length)])

但我有:无法解析方法'getString(java.lang.String)'

我如何使用随机的2 XML Ress。

XML文件是这样的:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="phrases_avecjoueurs">
        <item>PH 1</item>
        <item>PH 2</item>
        <item>PH 3</item>
        <item>PH 4</item>
        <item>PH 5</item>
        <item>PH 6</item>
    </string-array>
    <string-array name="phrases_avecjoueurs_defis">
        <item>DEFIS 1</item>
        <item>DEFIS 2</item>
        <item>DEFIS 3</item>
        <item>DEFIS 4</item>
        <item>DEFIS 5</item>
        <item>DEFIS 6</item>
    </string-array>

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用以下代码初始化choosegame -

String[] choosegame = (String[])ArrayUtils.addAll(myString, myString2);

答案 1 :(得分:0)

如果您希望choosegame是一个由字符串组成的新字符串数组 myString和myString2,使用

choosegame = {myString, myString2};