java - 如何在另一个活动中调用一个活动的对象?
问题描述
我想在activity中调用activity的databasereference
变量,怎么做?我必须在此活动中显示从 firebase 检索到的列表。请帮忙。代码在这里。Firebase.java
showFullList.java
RecyclerView
Firebase.java
公共类 Firebase 扩展 AppCompatActivity {
EditText EDname;
Button addB;
Spinner choose;
DatabaseReference databaseReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_firebase);
databaseReference = FirebaseDatabase.getInstance().getReference("School");
EDname= (EditText)findViewById(R.id.etname);
addB= (Button)findViewById(R.id.buttonadd);
choose = (Spinner)findViewById(R.id.spinnerchoose);
addB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addData();
}
});
}
private void addData()
{
String name = EDname.getText().toString().trim();
String section = choose.getSelectedItem().toString();
if(!TextUtils.isEmpty(name))
{
String id = databaseReference.push().getKey();
Model model = new Model(id,name,section);
databaseReference.child(id).setValue(model);
Toast.makeText(this,"Artist Added",Toast.LENGTH_LONG).show();
}else
{
Toast.makeText(this,"Enter Name ",Toast.LENGTH_LONG).show();
}
}
}
showFullList.java
public class ShowFullList extends AppCompatActivity {
RecyclerView recyclerViewList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_full_list);
recyclerViewList = (RecyclerView)findViewById(R.id.recyclerview);
}
}
onStart()
如何在一个方法中访问 firebase 实例addEventValueListener
?
解决方案
- 您可以
DatabaseReference
在不同的活动中多次启动。 - 您不应该编写依赖代码。
- 对于无法确保保留在堆栈中的活动。您应该创建新的变量实例,而不是使用以前的活动实例。
你可以DatabaseReference
这样实现。
public class ShowFullList extends AppCompatActivity {
RecyclerView recyclerViewList;
DatabaseReference databaseReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_full_list);
recyclerViewList = (RecyclerView)findViewById(R.id.recyclerview);
databaseReference = FirebaseDatabase.getInstance().getReference("School");
}
}
推荐阅读
- sql - SQL Server 过滤唯一的最新日期和付款
- wix - 如何在 AppData 中创建嵌套文件夹
- python - 按索引访问 coo_matrix 的 TypeError
- android - Android Studio:基于调试而不是发布
- ruby - Ruby脚本问题
- android - 我的 Listview 小部件中没有显示数据
- java - UDP 多播在 2 台不同的 PC 中不起作用
- bash - 在bash中迭代地打印csv中现有文本下方的文本
- apache-nifi - 如何通过动态表名从rest api调用执行sql
- python - ImportError:libkfusion.so:无法打开共享对象文件:没有这样的文件或目录