我想在fiveMinuteButton
点击时更改circuitLength的值,但是,该值未被更改。
private Button fiveMinuteButton;
int circuitLength;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_workout_settings_screen);
fiveMinuteButton = (Button) findViewById(R.id.fiveminutesbuttonid);
fiveMinuteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
circuitLength = 5;
}
});
XML:
<Button
android:id="@+id/fiveminutesbuttonid"
android:background="@drawable/whitebutton_shape"
android:layout_below="@+id/workoutlengthtitleId"
android:layout_marginTop="8dp"
android:text="@string/fiveminutes_text"
android:layout_width="90dp"
android:layout_height="60dp" />
答案 0 :(得分:0)
是的,每次单击initializing
时,它都不会更新,因为fiveMinuteButton
值为5(即circuitLength = 5而不是write circuitLength = circuitLength + 5)。
将您的代码更改为以下内容。
private Button fiveMinuteButton;
int circuitLength;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_workout_settings_screen);
fiveMinuteButton = (Button) findViewById(R.id.fiveminutesbuttonid);
circuitLength = 5;
InitialzeUIButtons();
fiveMinuteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
circuitLength = circuitLength + 5;
}
});
答案 1 :(得分:0)
您的代码是否正确请务必点击按钮调用 我认为,你的onclick按钮无法正常工作
答案 2 :(得分:0)
尝试使用此代码然后让我知道,然后我们会进一步调查。
private Button fiveMinuteButton;
int circuitLength;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_workout_settings_screen);
Toast.makeText(this,"circuitLength value ="+circuitLength, Toast.LENGTH_LONG).show();
fiveMinuteButton = (Button) findViewById(R.id.fiveminutesbuttonid);
fiveMinuteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
circuitLength = 5;
Toast.makeText(ACtivityName.this,"circuitLength value ="+circuitLength, Toast.LENGTH_LONG).show();
}
});
答案 3 :(得分:0)
您的代码肯定是正确的。如果您更改Activity内的任何变量,它仍然会更改,有三种可能会更改为初始值。
正如你在这里说的那样
我把日志。它只会暂时存储该值,然后在我调用之后 再次登录OnClickListener,值为null。
我相信你正在做这样的事情。
private Button fiveMinuteButton;
int circuitLength;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_workout_settings_screen);
fiveMinuteButton = (Button) findViewById(R.id.fiveminutesbuttonid);
fiveMinuteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
circuitLength = 5;
Log.e("count", ""+circuitLength);
}
});
Log.e("count", ""+circuitLength);
}
现在,当应用程序启动onCreate
时,默认情况下将调用circuitLength
为空,因此显然您在日志中显示为空。
我希望很清楚。如果您有任何疑问可以随意询问。