您好我正在使用EditText开发Android应用程序,并使用add en minus按钮来控制它的值。 我现在正在使用它,但我想重复它到多个值。我知道我可以用不同的变量重复代码,但代码会非常大。
任何人都知道如何为多个值重复相同的代码?
这是我目前的代码:
package com.lars.MyApp;
import com.lars.MyApp.R;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.view.View;
import android.view.View.OnClickListener;
public class MyAppActivity extends Activity {
int currentValue = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final EditText Value = (EditText) findViewById(R.id.Value);
Button addButton = (Button) findViewById(R.id.addButton);
Button minusButton = (Button) findViewById(R.id.minusButton);
addButton.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
addValue();
Value.setText("" + currentValue);
}
});
minusButton.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
minusValue();
Value.setText("" + currentValue);
}
});
}
public void addValue(){
if(currentValue <= 999){
currentValue = currentValue + 1;
}
}
public void minusValue(){
if(currentValue >= 1){
currentValue = currentValue - 1;
}
}
}
答案 0 :(得分:3)
您应该重构OnClickListeners,以便它们是通用的。可能最简单的方法是将addValue()
方法更改为addValue(View v)
,将minusValue()
更改为minusValue(View v)
。然后,在布局xml中,添加属性android:onClick=addValue
或android:onClick=minusValue
。你必须更新方法体,以便它们检查视图的id并根据它做正确的事情,但你不必在onCreate方法中创建和设置一大堆OnClickListeners - 你会得到它免费。