如何在点击listview时传递多个值给firebase



我想在firebase中存储在listview中单击项目的数据。我的列表视图活动如下所示。有人能帮帮我吗?I'am new to android studio

package android.example.mentoring_app;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
public class secondSem extends AppCompatActivity {
ListView Lview;
ArrayList<String> Alist=new ArrayList<>();
DatabaseReference mRef;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second_sem);
ArrayAdapter<String> ad=new ArrayAdapter<>(secondSem.this, android.R.layout.simple_list_item_1,Alist);
Lview=findViewById(R.id.scndl);
Lview.setAdapter(ad);
mRef= FirebaseDatabase.getInstance().getReference("students").child("2nd sem");
mRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull @NotNull DataSnapshot snapshot, @Nullable @org.jetbrains.annotations.Nullable String previousChildName) {
String value=snapshot.getValue(String.class);
Alist.add(value);
ad.notifyDataSetChanged();
}
@Override
public void onChildChanged(@NonNull @NotNull DataSnapshot snapshot, @Nullable @org.jetbrains.annotations.Nullable String previousChildName) {
ad.notifyDataSetChanged();
}
@Override
public void onChildRemoved(@NonNull @NotNull DataSnapshot snapshot) {
}
@Override
public void onChildMoved(@NonNull @NotNull DataSnapshot snapshot, @Nullable @org.jetbrains.annotations.Nullable String previousChildName) {
}
@Override
public void onCancelled(@NonNull @NotNull DatabaseError error) {
}
});
}
}

或者是否有其他方法来选择动态打印的项目并存储在firebase数据库中。比如使用复选框之类的…任何形式的帮助都是感激的:)

try this

Lview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// on listView item clicked
myRef.setValue(ad.getItem(position));
}
});