Java 单选按钮包

Java 单选按钮包,java,android,Java,Android,我想检查一下,如果我的单选按钮被选中,而不是在另一个活动中,它应该使用本地ip,如果我的单选按钮没有被选中,那么它应该使用我正在通过捆绑包进行操作的用户提供的ip。我使用了下面的代码,但如果条件给出错误必需的布尔值找到了java.lang.String,那么我该怎么做呢。我是Android Studio的初学者,所以知道的不多 以下是我使用的代码: 选择RoomActivity if(rb.isChecked()){ rb.setChecked(true); SelectRoom

我想检查一下,如果我的单选按钮被选中,而不是在另一个活动中,它应该使用本地ip,如果我的单选按钮没有被选中,那么它应该使用我正在通过捆绑包进行操作的用户提供的ip。我使用了下面的代码,但如果条件给出错误
必需的布尔值
找到了java.lang.String
,那么我该怎么做呢。我是Android Studio的初学者,所以知道的不多

以下是我使用的代码:

选择RoomActivity

if(rb.isChecked()){
    rb.setChecked(true);
    SelectRoomActivity.bundle.putString("local","true");
}else{
    rb.setChecked(false);
    SelectRoomActivity.bundle.putString("local","false");
}
if (SelectRoomActivity.bundle.getString("false")){   //error is generated if condition
        serverAdress = address;   //abc.ddns.net
    }
    else{
        serverAdress = lan;   //192.168.1.101
    }
if(rb.isChecked()){
    rb.setChecked(true);
    SelectRoomActivity.bundle.putBoolean("local",true);
}
else{
    rb.setChecked(false);
    SelectRoomActivity.bundle.putBoolean("local",false);
}
if (SelectRoomActivity.bundle.getBoolean("local")){   //error is generated if condition
    serverAdress = address;   //abc.ddns.net
}
else{
    serverAdress = lan;   //192.168.1.101
}
参与活动

if(rb.isChecked()){
    rb.setChecked(true);
    SelectRoomActivity.bundle.putString("local","true");
}else{
    rb.setChecked(false);
    SelectRoomActivity.bundle.putString("local","false");
}
if (SelectRoomActivity.bundle.getString("false")){   //error is generated if condition
        serverAdress = address;   //abc.ddns.net
    }
    else{
        serverAdress = lan;   //192.168.1.101
    }
if(rb.isChecked()){
    rb.setChecked(true);
    SelectRoomActivity.bundle.putBoolean("local",true);
}
else{
    rb.setChecked(false);
    SelectRoomActivity.bundle.putBoolean("local",false);
}
if (SelectRoomActivity.bundle.getBoolean("local")){   //error is generated if condition
    serverAdress = address;   //abc.ddns.net
}
else{
    serverAdress = lan;   //192.168.1.101
}
改变这个

SelectRoomActivity.bundle.putString("local","true"); AND

SelectRoomActivity.bundle.putString("local","false");

下一个活动是什么

if (SelectRoomActivity.bundle.getBoolean("local")){  
        serverAdress = address;   //abc.ddns.net
    }
    else{
        serverAdress = lan;   //192.168.1.101
    }
改变这个

SelectRoomActivity.bundle.putString("local","true"); AND

SelectRoomActivity.bundle.putString("local","false");

下一个活动是什么

if (SelectRoomActivity.bundle.getBoolean("local")){  
        serverAdress = address;   //abc.ddns.net
    }
    else{
        serverAdress = lan;   //192.168.1.101
    }
试试看 在您的代码中,您要将字符串放入包中,您需要将布尔值放入包中 当您在入口活动中获取变量时,使用的字符串是bundle中您的布尔名称(“local”,而不是“false”)

选择RoomActivity

if(rb.isChecked()){
    rb.setChecked(true);
    SelectRoomActivity.bundle.putString("local","true");
}else{
    rb.setChecked(false);
    SelectRoomActivity.bundle.putString("local","false");
}
if (SelectRoomActivity.bundle.getString("false")){   //error is generated if condition
        serverAdress = address;   //abc.ddns.net
    }
    else{
        serverAdress = lan;   //192.168.1.101
    }
if(rb.isChecked()){
    rb.setChecked(true);
    SelectRoomActivity.bundle.putBoolean("local",true);
}
else{
    rb.setChecked(false);
    SelectRoomActivity.bundle.putBoolean("local",false);
}
if (SelectRoomActivity.bundle.getBoolean("local")){   //error is generated if condition
    serverAdress = address;   //abc.ddns.net
}
else{
    serverAdress = lan;   //192.168.1.101
}
参与活动

if(rb.isChecked()){
    rb.setChecked(true);
    SelectRoomActivity.bundle.putString("local","true");
}else{
    rb.setChecked(false);
    SelectRoomActivity.bundle.putString("local","false");
}
if (SelectRoomActivity.bundle.getString("false")){   //error is generated if condition
        serverAdress = address;   //abc.ddns.net
    }
    else{
        serverAdress = lan;   //192.168.1.101
    }
if(rb.isChecked()){
    rb.setChecked(true);
    SelectRoomActivity.bundle.putBoolean("local",true);
}
else{
    rb.setChecked(false);
    SelectRoomActivity.bundle.putBoolean("local",false);
}
if (SelectRoomActivity.bundle.getBoolean("local")){   //error is generated if condition
    serverAdress = address;   //abc.ddns.net
}
else{
    serverAdress = lan;   //192.168.1.101
}
试试看 在您的代码中,您要将字符串放入包中,您需要将布尔值放入包中 当您在入口活动中获取变量时,使用的字符串是bundle中您的布尔名称(“local”,而不是“false”)

选择RoomActivity

if(rb.isChecked()){
    rb.setChecked(true);
    SelectRoomActivity.bundle.putString("local","true");
}else{
    rb.setChecked(false);
    SelectRoomActivity.bundle.putString("local","false");
}
if (SelectRoomActivity.bundle.getString("false")){   //error is generated if condition
        serverAdress = address;   //abc.ddns.net
    }
    else{
        serverAdress = lan;   //192.168.1.101
    }
if(rb.isChecked()){
    rb.setChecked(true);
    SelectRoomActivity.bundle.putBoolean("local",true);
}
else{
    rb.setChecked(false);
    SelectRoomActivity.bundle.putBoolean("local",false);
}
if (SelectRoomActivity.bundle.getBoolean("local")){   //error is generated if condition
    serverAdress = address;   //abc.ddns.net
}
else{
    serverAdress = lan;   //192.168.1.101
}
参与活动

if(rb.isChecked()){
    rb.setChecked(true);
    SelectRoomActivity.bundle.putString("local","true");
}else{
    rb.setChecked(false);
    SelectRoomActivity.bundle.putString("local","false");
}
if (SelectRoomActivity.bundle.getString("false")){   //error is generated if condition
        serverAdress = address;   //abc.ddns.net
    }
    else{
        serverAdress = lan;   //192.168.1.101
    }
if(rb.isChecked()){
    rb.setChecked(true);
    SelectRoomActivity.bundle.putBoolean("local",true);
}
else{
    rb.setChecked(false);
    SelectRoomActivity.bundle.putBoolean("local",false);
}
if (SelectRoomActivity.bundle.getBoolean("local")){   //error is generated if condition
    serverAdress = address;   //abc.ddns.net
}
else{
    serverAdress = lan;   //192.168.1.101
}
选择房间活动

if(rb.isChecked()){
   rb.setChecked(true);
   SelectRoomActivity.bundle.putString("local","true");
}else{
   rb.setChecked(false);
   SelectRoomActivity.bundle.putString("local","false");
}
在活动中

if (SelectRoomActivity.bundle.getString("local").equalsIgnoreCase("false")){   
   //error is generated if condition
    serverAdress = address;   //abc.ddns.net
}
else{
    serverAdress = lan;   //192.168.1.101
}
选择房间活动

if(rb.isChecked()){
   rb.setChecked(true);
   SelectRoomActivity.bundle.putString("local","true");
}else{
   rb.setChecked(false);
   SelectRoomActivity.bundle.putString("local","false");
}
在活动中

if (SelectRoomActivity.bundle.getString("local").equalsIgnoreCase("false")){   
   //error is generated if condition
    serverAdress = address;   //abc.ddns.net
}
else{
    serverAdress = lan;   //192.168.1.101
}

您正在按名称
local
“并试图通过名称
false
在另一个活动中获取它。它肯定会给出一个错误。如果
SelectRoomActivity.bundle
是一个静态变量,这是一个存储常量或配置的糟糕配置。请阅读如果您坚持使用这样的字符串,请至少将SelectRoomActivity.bundle.getString(“false”)更改为SelectRoomActivity.bundle.getString(“本地”)要获取正确的字符串,您需要通过名称
local
“并试图通过名称
false
在另一个活动中获取它。它肯定会给出一个错误。如果
SelectRoomActivity.bundle
是一个静态变量,这是一个存储常量或配置的糟糕配置。请阅读如果您坚持使用这样的字符串,请至少将SelectRoomActivity.bundle.getString(“false”)更改为SelectRoomActivity.bundle.getString(“本地”)获取正确的字符串可能添加检查bundle是否为null是一个好做法。可能添加检查bundle是否为null可能是一个好做法。这是一个更好的方法。这是一个更好的方法。