gpt4 book ai didi

android - 静态方法中的 findViewById

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:03:58 25 4
gpt4 key购买 nike

我有这个静态方法:

public static void displayLevelUp(int level, Context context) {

LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View layout = inflater.inflate(R.layout.custom_level_coast,
(ViewGroup) findViewById(R.id.toast_layout_root)); // this row

TextView text = (TextView) layout.findViewById(R.id.toastText);
text.setText("This is a custom toast");

Toast toast = new Toast(context);
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();

Toast.makeText(context, String.valueOf(level), Toast.LENGTH_SHORT)
.show();

}

但是,我不知道如何让 firstfindViewById 很好地处理它,因为它说这是一个非静态方法。我明白为什么这么说,但一定有解决方法吗?我将 context 传递给此方法,但无法一起解决它们。

最佳答案

您可以做的一件事是使 View 成为类范围的变量并使用它。我实际上不建议这样做,但如果您需要快速而肮脏的东西,它会起作用。

将 View 作为参数传递是首选方式

关于android - 静态方法中的 findViewById,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16342004/

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