gpt4 book ai didi

java - 我仍然不明白 setTag 和 getTag 是如何工作的

转载 作者:行者123 更新时间:2023-12-01 17:23:04 24 4
gpt4 key购买 nike

我在这里检查了有关 setTaggetTag 的其他问题,但我不明白。我在这里设置标签

   buttonA.setOnClickListener(new View.OnClickListener() {

public int GetRandomNumber(int max) {
int min;
min = 1;
int num = min + (int) (Math.random() * ((max - min) + 1));

return num;
}

int RandomIndex;
public void onClick(View view) {

int countMax = 40;
RandomIndex = GetRandomNumber(countMax);


view.setTag(RandomIndex);


}

});

并在此处获取标签

buttonB.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View view) {
// TODO Auto-generated method stub
int Index = (Integer)(view.getTag());
tv1.setText(Index);
}
});

我收到 NullPointerException 错误,因此我没有正确使用 setTag 。这发生在 1 个 Activity 中。

最佳答案

您在单个View对象上setTag(),以存储与View关联的一些信息

View.setTag(Object tag)

在您的示例中,您设置 ButtonA 的标记,然后在 ButtonB 上调用 getTag。当然它是空的,您从未在 ButtonB 上设置标签。

onClick 中的 View 是您正在点击的 View。在这种情况下,您将设置一个 View 并从另一 View 获取。它永远为空。

编辑:我认为出于您的目的,只需使用类变量来存储和检索您想要的内容。 getTag() 并不是 View 之间通信的某种神奇形式:)

关于java - 我仍然不明白 setTag 和 getTag 是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17170693/

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