【问题标题】:Android studio Firebase UI Custom listview layoutAndroid studio Firebase UI 自定义列表视图布局
【发布时间】:2018-01-26 20:48:43
【问题描述】:

我想知道 firebaseUI 是否接受列表视图的自定义布局?所以如果我制作一个布局文件并添加我可以填充它,如文档中所示?

例如

 private ListView mListView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Find the ListView
    mListView = (ListView) findViewById(R.id.list_view);

    /* 
     * Create a DatabaseReference to the data; works with standard DatabaseReference methods
     * like limitToLast() and etc.
     */
    DatabaseReference peopleReference = FirebaseDatabase.getInstance().getReference()
        .child("people");

    // Now set the adapter with a given layout
    mListView.setAdapter(new FirebaseListAdapter<Person>(this, Person.class,
            R.layout.**MYCUSTOMLISTVIEW**, peopleReference) {

        // Populate view as needed
        @Override
        protected void populateView(View view, Person person, int position) {
            ((TextView) view.findViewById(android.R.id.**MYCUSTOMTEXTVIEW**)).setText(person.getName());
        }
    });
}

}

【问题讨论】:

  • 是的,这是可能的。您需要覆盖 getItemViewType(...)onCreateViewHolder(...),如下所示:stackoverflow.com/questions/41658860/…
  • 如果我想在列表视图中添加按钮,这会起作用吗?
  • 我会在onCreateViewHolder() 中执行此操作,然后在populateView(...) 中显示/隐藏按钮。

标签: android listview firebase firebase-realtime-database firebaseui


【解决方案1】:

是的。要实现这一点,您需要更改:

android.R.id.**MYCUSTOMTEXTVIEW**

R.id.**MYCUSTOMTEXTVIEW**

为此,您需要创建一个名为MYCUSTOMTEXTVIEW 的新布局资源文件。当您使用android. 时,这意味着您正在使用来自 Android 的现有模板。当您使用我上面的代码时,这意味着您通过 id 找到了一个自定义视图,您需要自己创建。

如果您想添加自定义视图、按钮、文本视图等,您需要在 onCreateViewHolder() 中执行此操作,然后在 populateView() 方法中对它们执行任何您想要的操作。

【讨论】:

    猜你喜欢
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    相关资源
    最近更新 更多