gpt4 book ai didi

android - 与 Butterknife 绑定(bind)以在 android 中动态添加 View

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:31 26 4
gpt4 key购买 nike

如何使用 ButterKnife 绑定(bind)布局中的 View ,这些 View 会动态添加到父 View 。

我有一个 LinearLayout 说容器。我有一个自定义布局,其中包含两个按钮,将此布局称为 childview在 Activity 中,我将 childview 成功添加到父 LinearLayout container

这就是我膨胀自定义 View 并添加到 LinearLayout 的方式

bubbleView = inflater.inflate(R.layout.child, null);
systemChatLayoutContainer.addView(bubbleView);

现在我想绑定(bind) child 布局中的 Button View 并添加当按钮出现在 child 布局中时执行一些操作。

这是在单击按钮时动态添加到父容器的 child.xml。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
android:id="@+id/btnCreateAccount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/btn_selector_green"
android:gravity="center"
android:padding="@dimen/_13sdp"
android:text="Create an account"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textColor="@color/white" />

<TextView
android:id="@+id/btnJstCheckingRate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/btn_selector_blue"
android:gravity="center"
android:padding="@dimen/_13sdp"
android:text="I'm just checking rates"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textColor="@color/white" />

<TextView
android:id="@+id/btnIhaveAccount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/transparent_btn_selector"
android:gravity="center"
android:padding="@dimen/_20sdp"
android:text="I've got an account"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textColor="@color/white" />
</LinearLayout>

最佳答案

您可以使用 ViewHolder 将 View 与存在于子布局中的 ButterKnife 绑定(bind),因此添加内部类 BubbleViewHolder

class BubbleViewHolder {
BubbleViewHolder(View view) {
ButterKnife.bind(this, view);
}

@OnClick(R.id.button_id)
void onMyButtonClicked(Button myButton) {
// Do your stuff here
}
}

并在充气后构建BubbleViewHolder

View bubbleView = inflater.inflate(R.layout.child, null);
new BubbleViewHolder(bubbleView);
systemChatLayoutContainer.addView(bubbleView);

关于android - 与 Butterknife 绑定(bind)以在 android 中动态添加 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37744720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com