如何保持Java Android代码的简短?
嗨,我正在开发一个Android应用程序,使用EditText和一个add-en-减号按钮来控制它的值。 我现在让它工作了,但我想对多个值重复它。我知道我可以用不同的变量重复代码,但是代码会非常大 有人知道如何对多个值重复相同的代码吗 这是我当前的代码:如何保持Java Android代码的简短?,android,button,android-edittext,repeat,Android,Button,Android Edittext,Repeat,嗨,我正在开发一个Android应用程序,使用EditText和一个add-en-减号按钮来控制它的值。 我现在让它工作了,但我想对多个值重复它。我知道我可以用不同的变量重复代码,但是代码会非常大 有人知道如何对多个值重复相同的代码吗 这是我当前的代码: package com.lars.MyApp; import com.lars.MyApp.R; import android.app.Activity; import android.os.Bundle; import android.w
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;
}
}
}
package com.lars.MyApp;
导入com.lars.MyApp.R;
导入android.app.Activity;
导入android.os.Bundle;
导入android.widget.Button;
导入android.widget.EditText;
导入android.view.view;
导入android.view.view.OnClickListener;
公共类MyAppActivity扩展了活动{
int currentValue=0;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
最终EditText值=(EditText)findViewById(R.id.Value);
Button addButton=(Button)findViewById(R.id.addButton);
Button minusButton=(Button)findViewById(R.id.minusButton);
setOnClickListener(新的OnClickListener(){
公共void onClick(视图v){
附加值();
Value.setText(“+currentValue”);
}
});
setOnClickListener(新的OnClickListener(){
公共void onClick(视图v){
minusValue();
Value.setText(“+currentValue”);
}
});
}
公共无效附加值(){
如果(currentValue=1){
currentValue=currentValue-1;
}
}
}
您应该重构onClickListener,使它们是通用的。可能最简单的方法是将addValue()
方法更改为addValue(视图v)
,将minusValue()
更改为minusValue(视图v)
。然后,在布局xml中添加一个属性android:onClick=addValue
或android:onClick=minusValue
。您必须更新方法体,以便它们检查视图的id,并在此基础上执行正确的操作,但您不必在onCreate方法中创建和设置一大堆OnClickListener—您将免费获得这些内容。您应该重构OnClickListener,使其具有通用性。可能最简单的方法是将addValue()
方法更改为addValue(视图v)
,将minusValue()
更改为minusValue(视图v)
。然后,在布局xml中添加一个属性android:onClick=addValue
或android:onClick=minusValue
。您必须更新方法主体,以便它们检查视图的id,并根据该id执行正确的操作,但您不必在onCreate方法中创建和设置一大堆onClickListener,您将免费获得这些内容。哪种代码?将ID传递给执行相同操作的方法。我不清楚你具体想重构什么。哪段代码?将ID传递给执行相同操作的方法。我不清楚您具体想要重构什么。