【发布时间】:2023-04-01 08:47:01
【问题描述】:
我坚持在方法之外传递变量值。示例:
usernameRef = FirebaseDatabase.getInstance().getReference().child("Users").child(uid).child("Name");
usernameRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String createdByName = dataSnapshot.getValue().toString();
}
我想进一步使用收到的方法值:textview.setText(createdByName)。
还有一个例子:
ServiceSpin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if(parent.getItemAtPosition(position).equals("Pick a service name")){
}
else{
String ServiceName = parent.getItemAtPosition(position).toString();
}
}
在我想要的方法之外:
AddRequest items = new AddRequest(ServiceName);
FirebaseDatabase.getInstance().getReference("Requests").child(FirebaseAuth.getInstance().getCurrentUser().getUid()).setValue(items)
由于我不知道使用局部变量更正确,但我无论如何都不知道如何在方法之外获取此值。
【问题讨论】:
-
对不起,你的问题一点都不清楚。请不要解释您的代码应该做什么,而是:显示更多代码,例如minimal reproducible example。
-
也许 something like this 就是你要找的东西
-
除此之外:你想了解局部变量和字段的区别。
-
我觉得这里的代码足够了。我在方法中从数据库中获取值,并希望在方法之外使用这个值(例如在 textview 中)。但是好的,我可以添加更多
-
您只需要在代码顶部定义所有这些变量。
string strName然后在任何你想要的地方定义它的价值。这样整个代码都可以访问该变量。
标签: java android android-studio firebase-realtime-database