我正在使用附加功能在实例之间传递一个变量,我启动了变量但android studio给了我一个错误,说它可能没有被初始化...
public class TasteNotePage extends ActionbarMenu {
String beerID = "a";
Dialog dialog = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tastenote_page);
//get beer data
Intent intent = getIntent();
Bundle b = intent.getExtras();
beerID = b.getString("id");
//get beer name, get our review if you have one, get all reviews and set
//check if user has beer
String url2 = "myURL";
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String userID = prefs.getString("userID", null);
String userURLComp = "x=" + userID;
String beerID = "&z=" + beerID;
错误发生在上面代码的最后一行的beerID。知道如何解决这个问题吗?
答案 0 :(得分:2)
在
行前删除String
beerID = "&z=" + beerID;
String
表示您正在为该方法创建一个新变量的程序,该变量隐藏了类中的属性beerID
。显然,当你在后面的行中尝试使用它的值时,它还没有被初始化。
答案 1 :(得分:2)
最后一行的最后一个beerID
是指局部变量beerID
,而不是成员变量。如果要分配给成员变量,请将其更改为beerID = "&z=" + beerID;
,否则将其更改为String beerID = "&z=" + this.beerID;
。
答案 2 :(得分:0)
您在onCreate
中再次声明变量,而不是使用在类上声明的次数 - 在这种情况下,它未初始化:
String beerID = "&z=" + beerID;
我想它应该是:
beerID = "&z=" + beerID;
答案 3 :(得分:0)
您初始化了beerID两次。如果它们应该是同一个变量,则从第二个中删除一个String。