我學習的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