我练习Android中的初学者技能,现在我做了2个editText
得到2个数字并在下一个editText
显示得分的应用程序
这样做是一种好习惯吗?我相信更好的程序员有最短的方法来做到这一点。
public class MainActivity extends AppCompatActivity {
private Button button;
private EditText editText,editText2,editText3;
private String a,b,c;
private Double x1,x2,x3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
editText = (EditText) findViewById(R.id.editText);
editText2 = (EditText) findViewById(R.id.editText2);
editText3 = (EditText) findViewById(R.id.editText3);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
a = editText.getText().toString();
b = editText2.getText().toString();
x1 = Double.parseDouble(a);
x2 = Double.parseDouble(b);
calc(x1,x2);
}
});
}
private void calc(double x1, double x2){
x3 = x1 * x2;
c = String.valueOf(x3);
editText3.setText(c);
}
答案 0 :(得分:0)
正如MacLean Sochor所述,您无法减少代码,因为这些代码 是您必须执行的确切步骤。
无论如何,您可以使用以下步骤来减少代码,从而使其可读。
我一直遵循的一个建议是以XML布局分配侦听器:
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/multiply" // multiply is '*' in strings.xml
android:onClick="multiply" /> // Here you are assigning click listener
为点击侦听器指定合适的名称使其可读。 如果有人认为该方法不接受执行其名称所暗示的任务所需的参数。
protected void multiply(View); // View argument is passed instead of two numbers
构建代码的高级技术(减少副作用)包括Data Binding。观看Data Binding -- Write Apps Faster (Android Dev Summit 2015),快速了解data Binding。
其他建议:
onClick()
和calc()
方法中移动它们。 希望这有帮助。