作为一名管理员,我如何通过键入用户名(/naam)来查找另一个用户,并将其“tegoed”投影/设置到textview中?
[编辑:当我在whereequalto硬编码为“anne”时,我确实得到了一个textview,但是我不知道如何使用edittext来完成这个任务,在这里我可以填写某人的名字]
我的firestore是这样构建的,现在两个字段都是字符串。但测试后的数字将是数字
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tegoedaanvullen);
Naamtgd = findViewById(R.id.etNaamtgd);
Tegoed = findViewById(R.id.etTgd);
tvTegoed = findViewById(R.id.tvTgd);
btnZoek = findViewById(R.id.btnZoek);
btnVulAan = findViewById(R.id.btnVulAan);
btnTerug = findViewById(R.id.btnTerug);
NAAM = Naamtgd.getText().toString();
mAuth = FirebaseAuth.getInstance();
fStore = FirebaseFirestore.getInstance();
btnZoek.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fStore.collection("Gebruikers")
.whereEqualTo("Naam", "Anne")
.get()
.addOnCompleteListener(task -> {
if (task.isSuccessful()) {
Toast.makeText(Tegoedaanvullen.this, "Gelukt?", Toast.LENGTH_SHORT).show();
for (QueryDocumentSnapshot document : task.getResult()) {
tvTegoed.setText(document.getString("Tegoed"));
}
}
else{
Toast.makeText(Tegoedaanvullen.this, "Mislukt", Toast.LENGTH_SHORT).show();
}
});
}
});
我想这可能很有趣,当我硬编码“anne”时,会出现一个词:value。当我把绳子放进去的时候它就不存在了:纳姆;
单击此处查看图像
新日志
1条答案
按热度按时间58wvjzkj1#
我发现了问题。在原木的帮助下!
字符串naam=edittext.gettext.tostring是在按下按钮之前在oncreate中键入的。
所以,在我打开页面的那一刻,它已经被填满了。
现在,它在.setonclicklistener中,并且可以工作!