android - 更改 firebase 中 listviewitems 的 bool 值

标签 android firebase-realtime-database android-listview

单击 ListView 项时如何更改 firebase 中的 bool 值?

我的 MainActivity 中的 setOnItemClick:

listitem.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {


        }
    });

适配器:

public class listItems extends ArrayAdapter<Items> {

private Activity context;
private List<Items> listitems;



public listItems(Activity context, List<Items> listitems){
    super (context, R.layout.list_items, listitems);
    this.context = context;
    this.listitems = listitems;

}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
    LayoutInflater inflater = context.getLayoutInflater();


    View listViewItem = inflater.inflate(R.layout.list_items, null, true);

    CheckedTextView tvitems = (CheckedTextView) listViewItem.findViewById(R.id.fetch_image_title);



    Items items = listitems.get(position);

    tvitems.setText(items.getItemname());

    tvitems.setChecked(items.isChecked);




    return listViewItem;
}

如果我更改 Firebase 中的值,它也会在我的应用程序中更改(从 true 到 false),这样就可以了。但是,当我单击一个项目时,如何在我的应用程序中执行相同的操作?

最佳答案

在您的 onItemClick() 方法中,添加以下代码行:

String key = arrayAdapter.getItem(i).getKey();
yourRef.child(key).setValue(true);

这是设置true 的例子。如果您想将其设置为false,请使用:

yourRef.child(key).setValue(false);

关于android - 更改 firebase 中 listviewitems 的 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53766721/

相关文章:

android - 如何根据正值或负值更改自定义 ListView 中数组列表项的颜色

Android异步API设计

android - AWS Cognito - 获取带 ID 的用户信息

arrays - 在 Firebase 数据库中存储数组

安卓 : Hide relativelayout when scroll down on listview

android - 以Listview为item的Listview,内部listview不完全可见

Android 在 ImageView 中删除背景属性

android - 如何从 Google Fit Api 获取最近的高度和体重

firebase - 通过添加区域来扩展 firebase 的推荐方法

ios - 当我更新子值时在 firebase 中添加新子项 - ios