要提供上下文 - 我已在我的应用程序中成功实施,允许我将tenants
添加到properties
。但是,在我添加tenant
时,它会出现在我在应用程序中显示的所有属性记录中。
我想知道在添加propertyID
时是否有可能与properties
和tenantID
中的每个tenants
相关联。这样做的结果只是添加到特定属性的租户只能在该属性上查看(而不是现在的所有属性)。
希望这是有道理的,为任何含糊不清道歉。
以下是我的一些代码以进一步澄清(代码转储道歉):
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_tenants);
mAuth = FirebaseAuth.getInstance();
FirebaseUser user = mAuth.getCurrentUser();
String uid = user.getUid();
databaseTenants = FirebaseDatabase.getInstance().getReference("tenants");
databaseTenantsList = FirebaseDatabase.getInstance().getReference("tenants").child(uid);
textViewPropertyName = (TextView) findViewById(R.id.textViewPropertyName);
editTextTenantsName = (EditText) findViewById(R.id.editTextTenantsName);
seekBarAge = (SeekBar) findViewById(R.id.seekBarAge);
buttonAddTenant = (Button) findViewById(R.id.buttonAddTenant);
listViewTenants = (ListView) findViewById(R.id.listViewTenants);
Intent intent = getIntent();
tenants = new ArrayList<>();
String id = intent.getStringExtra(PropertyActivity.PROPERTY_ID);
String name = intent.getStringExtra(PropertyActivity.PROPERTY_NAME);
textViewPropertyName.setText(name);
buttonAddTenant.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveTenant();
}
});
}
@Override
protected void onStart() {
super.onStart();
databaseTenantsList.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
tenants.clear();
for(DataSnapshot tenantSnapshot : dataSnapshot.getChildren()){
Tenant tenant = tenantSnapshot.getValue(Tenant.class);
tenants.add(tenant);
}
TenantList tenantListAdapter = new TenantList(AddTenantsActivity.this, tenants);
listViewTenants.setAdapter(tenantListAdapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
private void saveTenant() {
String tenantName = editTextTenantsName.getText().toString().trim();
int age = seekBarAge.getProgress();
if(!TextUtils.isEmpty(tenantName)){
String id = databaseTenants.push().getKey();
Tenant tenant = new Tenant(id, tenantName, age);
FirebaseUser user = mAuth.getCurrentUser();
String uid = user.getUid();
databaseTenants.child(uid).child(id).setValue(tenant);
Toast.makeText(this, "Tenant saved successfully", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "Tenant name should not be empty", Toast.LENGTH_LONG).show();
}
}
}
这里显示的是我的数据结构: