如何保持Java Android代码的简短?

如何保持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

嗨,我正在开发一个Android应用程序,使用EditText和一个add-en-减号按钮来控制它的值。 我现在让它工作了,但我想对多个值重复它。我知道我可以用不同的变量重复代码,但是代码会非常大

有人知道如何对多个值重复相同的代码吗

这是我当前的代码:

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传递给执行相同操作的方法。我不清楚您具体想要重构什么。