Java 将string调用到string类中
我使用Java 将string调用到string类中,java,android,xml,Java,Android,Xml,我使用random在我的应用程序中显示不同的设置。 我有两个XMLRESS文件和一些句子,但是我不能使用random来选择XMLRESS 这样工作: public class phrasesgenerator_players extends AppCompatActivity { private static final Random rgenerator = new Random(); private TextView tv; String[] playerge;
random
在我的应用程序中显示不同的设置。
我有两个XMLRESS
文件和一些句子,但是我不能使用random
来选择XMLRESS
这样工作:
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};
[从4个edittext中选择昵称]+[选择XML Ress]+[从4个edittext中选择昵称]
此代码取随机昵称,这是工作。但问题在于XMLRESS
编辑:第二个问题是由以下原因引起的:java.lang.NullPointerException:尝试在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};
我尝试使用:
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中使用random
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>
PH值1
PH值2
PH值3
PH值4
PH值5
PH值6
违抗1
违抗2
违抗3
违抗4
违抗5
违抗6
谢谢您的帮助。如果您希望ChooseName成为由字符串组成的新字符串数组 myString和myString2,使用
choosegame = {myString, myString2};
您可以尝试以下代码来初始化choosegame-
String[] choosegame = (String[])ArrayUtils.addAll(myString, myString2);
感谢您的帮助,但这不起作用,问题是:
此处不允许使用数组初始值设定项
感谢您的帮助,但我对ArrayUtils有问题无法解析符号ArrayUtils
@argard或导入它?可能您需要添加apachecommons。尝试在build.gradle文件中添加compile'org.apache.commons:commons-collections4:4.0
。哎呀,我累了:'(但我在启动我的活动时遇到了一个问题,原因是:java.lang.NullPointerException:尝试在com.XX.onCreate(phrasegenerator_players.java:65)获取空数组的长度。
。行是choosegame[rgenerator.nextInt(choosegame.length)]
看起来像是choosegame
为空。您需要调试为什么是空的。