【问题标题】:How to Implement On-Click Listener in Firebase-ui ListVeiw?如何在 Firebase-ui ListView 中实现 Onclick 监听器?
【发布时间】:2018-06-30 09:59:57
【问题描述】:

我一直在使用由 Firebase-ui 提供的 ListVeiw 实现,可在 this link 找到。 我打算为每一行放置一个 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;
}
}

【问题讨论】:

    标签: android firebase-realtime-database firebaseui


    【解决方案1】:

    您可以在 populateView(...) 中的 listView 中设置这样的点击事件

    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);
    
                                        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多