我学习的Android从几个教程,并且当它涉及到使用OnClickListeners,我注意到,他们中的很多使用匿名内部类,像这样:匿名内部类和好的做法
public class MainActivity extends AppCompatActivity {
private EditText mNameField;
private Button mStartButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNameField = (EditText) findViewById(R.id.nameEditText);
mStartButton = (Button) findViewById(R.id.startButton);
mStartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = mNameField.getText().toString();
Toast.makeText(MainActivity.this, name, Toast.LENGTH_LONG).show();
}
});
}
}
这被认为是班上有班级的好习惯?或者是以某种方式在某个地方定义这个类并认为它更好?我将如何做到这一点?
[如何在Java中使用匿名(内)班的可能的复制? ](http://stackoverflow.com/questions/355167/how-are-anonymous-inner-classes-used-in-java) –
@AndrewRegan我知道他们是如何使用 - 但我问他们是否考虑去实践。 – DoubleBass
安卓文档并没有提示哪种方法是'最好的',但如果在布局中有几个按钮,则不会为每个按钮创建匿名类。这变得很麻烦。请考虑将OnClickListener作为活动/片段的一部分来实施。 – Susheel