Изменить логические значения в элементах listview в firebase - PullRequest
0 голосов
/ 13 декабря 2018

Как я могу изменить свое логическое значение в базе данных Firebase при нажатии на элемент списка просмотра?

Мой 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), так что это работает.Но как я могу сделать то же самое в моем приложении, когда я нажимаю на один элемент?

1 Ответ

0 голосов
/ 13 декабря 2018

Внутри вашего onItemClick() метода добавьте следующие строки кода:

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

Это пример настройки true.Если вы хотите установить false, используйте:

yourRef.child(key).setValue(false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...