java - 如何在 ListView Android 的页眉和页脚中使用 Butter Knife

标签 java android butterknife

我像这样在我的 ListView 中添加页眉和页脚:

lv = (ListView) findViewById(R.id.lv_process_person)
            View header = getLayoutInflater().inflate(R.layout.activity_input_forward_department_header, null);
            View footer = getLayoutInflater().inflate(R.layout.activity_input_forward_department_footer, null);
            lv.addHeaderView(header);
            lv.addFooterView(footer);

我像这样在标题中使用 View :

btnForward = (TextView) header.findViewById(R.id.button_forward);
    btnForward.setText("SetText");

如何使用 ButterKnife Library 代替这些代码?我研究但没有结果。谢谢你,对不起我的英语。

最佳答案

您可以使用与 ButterKnife 文档中的示例类似的内容:

You can also perform binding on arbitrary objects by supplying your own view root.

public class FancyFragment extends Fragment {
  @BindView(R.id.button1) Button button1;
  @BindView(R.id.button2) Button button2;

  @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fancy_fragment, container, false);
    ButterKnife.bind(this, view);
    // TODO Use fields...
    return view;
  }
}

作为第一个参数传递给 ButterKnife.bind() 的类必须具有用 @BindView 注释的字段。最直接的方法是创建一个名为 ListViewHeader 的自定义 View 类或更适合您的用途的类。

关于java - 如何在 ListView Android 的页眉和页脚中使用 Butter Knife,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49062665/

相关文章:

java - 按 block 加密文件

android - 如何在 DBFlow 中进行复杂查询?

java - Android Studio找不到已安装的SDK包

android - ButterKnife 内部 fragment 和工具栏高度

java - 来自 Butterknife 的 @OnClick 方法使应用程序崩溃并出现 java.lang.BootstrapMethodError

java - 当请求到达 Tomcat 服务器时会发生什么?

java - 谁能简明扼要地描述 3 个闭包提案与它们在 Java 中的当前状态之间的区别?

java - 从单独运行的 jar 中获取字段

android - 如何在 android 锁定屏幕上执行 Activity ?

java - 无法在 ButterKnife 中使用 findById