我的片段中的一些视图具有恒定的功能,我如何编写该功能使其 运行 只有一次?

Some of the views in my fragment have a constant functionality, how can I code that functionality such that it is run only once?

例如:我的片段中有一个按钮,单击该按钮将显示一条消息,每次都相同。由于只有在 onCreateView() 方法 运行 之后视图才会膨胀,有没有办法让按钮的 onClickListener() 只初始化一次。

我建议使用 DataBinding 库来静态实现 onClick。

只传递应用程序上下文以防止内存泄漏! 如果您使烤面包机 class 成为非静态的,并使用“数据”中的“变量”标签将其作为参数传递给布局,那就更好了。

DataBinding 集成指南: Android Developers

示例布局:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>
        <import type="path.to.Toaster"/>
    </data>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="@{() -> Toaster.makeToast()}"/>
    </FrameLayout>
</layout>

Toaster.class:

package path.to;

import android.content.Context;
import android.widget.Toast;

public class Toaster {

    public static Context context;

    public static void makeToast() {
        Toast.makeText(context, "Just a toast!", Toast.LENGTH_SHORT).show();
    }
}