gpt4 book ai didi

java - 更改按钮文本并在android studio中执行相应的onClick函数

转载 作者:太空宇宙 更新时间:2023-11-04 10:21:10 26 4
gpt4 key购买 nike

我试图在第一次按下按钮时动态更改图像,一旦图像更改,按钮文本应该更改,如果我们这次按下按钮,它必须打开一个新 Activity 。但到目前为止,下面的代码似乎无法运行,并且在第一次单击按钮时崩溃。

   @Override
public void onClick(View v) {

final int status = (Integer) v.getTag();
if (status == 1) {
change(v);
btn2.setText(R.string.next);
v.setTag(0);
next(v);
} else
{
btn2.setText(R.string.command);
v.setTag(1);
}
}


public void change(View v) {
btn2.setTag(1);
btn2.setText(R.string.command);
ImageView doggy = findViewById(R.id.imageView);
doggy.setImageResource(R.drawable.dog_sit);
}

public void next(View v){
v.setTag(0);
Intent i = new Intent(this, NumberShapes.class);
startActivity(i);

}

logcat指出的错误如下:-

07-03 21:44:19.944 31179-31179/com.example.angelinekingsteena.myapplication 
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.angelinekingsteena.myapplication, PID: 31179
java.lang.NullPointerException: Attempt to invoke virtual method 'int
java.lang.Integer.intValue()' on a null object reference
at
com.example.angelinekingsteena.myapplication.Doggie.onClick(Doggie.java:37)
at android.view.View.performClick(View.java:5207)

根据 logcat 错误位于以下行

 final int status = (Integer) v.getTag();

最佳答案

也许您可以在 onClick 方法上使用 Switch-Case 语句来执行此操作,使用标志来启动,因此,如果您第一次按下按钮,更改图像、文本并更改标志值,如果您再次按下按钮,使用新的标志值,将转到另一个案例,您可以从那里打开 Activity 。

关于java - 更改按钮文本并在android studio中执行相应的onClick函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51158323/

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