Как реализовать прослушиватель по нажатию в Firebase-ui ListVeiw? - PullRequest
0 голосов
/ 30 июня 2018

Я использую реализацию ListVeiw, предоставляемую Firebase-ui, доступную в по этой ссылке . Я намерен установить прослушиватель OnClick для каждой строки. При нажатии он должен изменить цвет фона, но я не смог найти никакого способа сделать это. Любая помощь будет отличной.

- Готово Пока -

активность

public class AddActivity extends AppCompatActivity {

//Databse refernce
FirebaseDatabase database= FirebaseDatabase.getInstance();
ListView listView;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add);
    listView = findViewById(R.id.listveiw);


    Query query = FirebaseDatabase.getInstance()
            .getReference("l")
            .child("p")
            .limitToLast(50);


    FirebaseListOptions<ListItem> options = new FirebaseListOptions.Builder<ListItem>()
            .setLayout(R.layout.listitem)
            .setQuery(query, ListItem.class)
            .build();
    FirebaseListAdapter<ListItem> adapter = new FirebaseListAdapter<ListItem>(options) {


        @Override
        protected void populateView(View v, ListItem model, int position) {
        String s = model.getName();
       TextView a= v.findViewById(R.id.textView2);
       a.setText(s);
       s=model.getWatch();
       a= v.findViewById(R.id.textView3);
       a.setText(s);
       ImageButton b= v.findViewById(R.id.imageButton);
        }
    };
    listView.setAdapter(adapter);


}
}

ListItem.class

public class ListItem {
private String name;
private String watch;

public ListItem(){}

public  ListItem(String name,String watch){
    this.name=name;
    this.watch=watch;
}

public String getName() {
    return name;
}

public String getWatch() {
    return watch;
}

public void setName(String name) {
    this.name = name;
}

public void setWatch(String watch) {
    this.watch = watch;
}
}

1 Ответ

0 голосов
/ 30 июня 2018

Вы можете установить событие клика как это в listView внутри populateView (...)

mView.setOnClickListener(new View.OnClickListener() {
                                    @Override
                                    public void onClick(View v) {
                                        Intent intent = new Intent(this, YourActivity.class);
                                        intent.putExtra(TITLE, title);
                                        intent.putExtra(CONTENT, content);
                                        intent.putExtra(KEY, key);
                                        startActivity(intent);

                                    }
...