Java 检查字符串是否为空';行不通
在我的android应用程序中,我有两个Java 检查字符串是否为空';行不通,java,android,string,Java,Android,String,在我的android应用程序中,我有两个活动: 球员名单 游戏发布 在第一个活动中,我询问玩家的名字,如果所有名字都是空的,我们就玩没有名字的游戏,但是如果不是空的,我们就玩玩家 当我添加4名玩家中的3名时,我的活动带有玩家。但是他添加了为空的玩家 如何制作检查系统 球员名单: Intent i = new Intent(getApplicationContext(),Game_Launch.class); i.putExtra("player1", player1
活动
:
- 球员名单
- 游戏发布
活动
中,我询问玩家的名字
,如果所有名字都是空的,我们就玩没有名字的游戏,但是如果不是空的,我们就玩玩家
当我添加4名玩家中的3名时,我的活动
带有玩家
。但是他添加了为空的玩家
如何制作检查系统
球员名单:
Intent i = new Intent(getApplicationContext(),Game_Launch.class);
i.putExtra("player1", player1.getText().toString());
i.putExtra("player2", player2.getText().toString());
i.putExtra("player3", player3.getText().toString());
i.putExtra("player4", player4.getText().toString());
startActivity(i);
游戏发布:
Intent in = getIntent();
String player1= in.getExtras().getString("player1");
String player2= in.getExtras().getString("player2");
String player3= in.getExtras().getString("player3");
String player4= in.getExtras().getString("player4");
//Log.d();
if (!player1.equals("")) {
playerge= new String[] {"player2", "player3", "player4"};
}
else if (!player2.equals("")){
playerge= new String[] {"player1", "player3", "player4"};
}
else if (!player3.equals("")){
playerge= new String[] {"player1", "player2", "player4"};
}
else if (!player4.equals("")){
playerge= new String[] {"player1", "player2", "player3"};
}
else if (!player1.equals("") && (!player2.equals(""))){
playerge= new String[] {"player3", "player4"};
}
else if (!player3.equals("") && (!player4.equals(""))){
playerge= new String[] {"player1", "player2"};
}
当我用这张支票时,它不起作用。你能帮我解决我的问题吗?多谢各位
编辑:
With answerd i have tried :
Intent in = getIntent();
String player1 = in.getStringExtra("player1");
String player2 = in.getStringExtra("player2");
String player3 = in.getStringExtra("player3");
String player4 = in.getStringExtra("player4");
//Log.d();
if (!player1.equals("")) {
playerge= new String[] {"player2", "player3", "player4"};
Toast.makeText(getApplicationContext(), "p1", Toast.LENGTH_SHORT).show();
}
else if (!player2.equals("")) {
playerge= new String[] {"player1", "player3", "player4"};
Toast.makeText(getApplicationContext(), "p2", Toast.LENGTH_SHORT).show();
}
else if (!player3.equals("")) {
playerge= new String[] {"player1", "player2", "player4"};
Toast.makeText(getApplicationContext(), "p3", Toast.LENGTH_SHORT).show();
}
else if (!player4.equals("")) {
playerge= new String[] {"player1", "player3", "player2"};
Toast.makeText(getApplicationContext(), "p4", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(getApplicationContext(), "tout ok", Toast.LENGTH_SHORT).show();
}
我的字符串1已完成,2未完成,3已完成,4已完成,但我有P1吐司
如何创建字符串:
public void checkuser(){
EditText player1 = (EditText)findViewById(R.id.editText2);
EditText player2 = (EditText)findViewById(R.id.editText);
EditText player3 = (EditText)findViewById(R.id.editText4);
EditText player4 = (EditText)findViewById(R.id.editText3);
String f = player1.getText().toString();
String f1 = player2.getText().toString();
String f2 = player3.getText().toString();
String f3 = player4.getText().toString();
if ((f.trim().equals("")) && (f1.trim().equals("")) && (f2.trim().equals("") && (f3.trim().equals("")))){
Intent i = new Intent(getApplicationContext(),Game_Launch_withoutplayer.class);
startActivity(i);
}
else{
Intent in = new Intent(getApplicationContext(),Game_Launch.class);
in.putExtra("player1", player1.getText().toString());
in.putExtra("player2", player2.getText().toString());
in.putExtra("player3", player3.getText().toString());
in.putExtra("player4", player4.getText().toString());
startActivity(in);
}
}
您获取的数据不正确。当您写入以下数据时:
Intent i = new Intent(getApplicationContext(), Game_Launch.class);
i.putExtra("player1", player1.getText().toString());
你可以这样理解:
Intent in = getIntent();
String player1= in.getStringExtra("player1");
现在您可以按原样进行比较了。希望这有帮助
if(player1.equalsIgnoreCase("") && (!TextUtil.isempty(player1)) )
并获得如下数据:
Intent in = getIntent();
String player1= in.getStringExtra("player1");
好的,谢谢,关于“android.content.Intent”中的“getStringExtra(java.lang.String)”,我还有一个问题不能应用于“(java.lang.String,java.lang.String)”
。我会尽力解决的。非常感谢你的邀请answerd@johnsnow85是的,这是我的错…我不正确..只需从.getStringExtra(“player1”),中的中删除第二个参数(”
)
@johnsnow85in.getStringExtra(“player1”)
返回null
如果在一些尝试后没有找到字符串,那么也不起作用。。。我已经编辑了第一篇文章,你可以在这里解释你想要实现的逻辑。就像player1为空时应该发生什么一样,etcI有4edittext
。当我点击我的按钮时,我检查我的编辑文本是否为空。如果为空
我们将不命名播放;否则我们将使用播放器
。但是如果玩家已经完成了player1
,player2
,player3
而没有player4
我想从我的字符串中删除player4。那么一次只能有一个玩家的名字出现空?(因为您使用的是if-else
,这就是我询问的原因)如果player1
不是empty
,我会发送player1
,player2
,player3
,player4
。它在第二个活动中
我检查谁为空
,以便从我的字符串中删除它。这就是为什么我在第二个活动中使用if-else
。因此,这里:if(!player1.equals(“”){playerge=newstring[]{“player2”、“player3”、“player4”};…}
。。。您是否应该检查player1
是否为空(因为您正在删除它)…条件是否应该为:if(player1.equals(“”){…}