你好,我有這樣的代碼:Java代碼optimalization - 兩個功能於一體
this.firstBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
final CharSequence[] items = {"1", "2", "3"};
AlertDialog.Builder builder = new AlertDialog.Builder(SlovnikoidActivity.this);
builder.setTitle("test");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
langFrom.setText(items[item]);
}
});
AlertDialog alert = builder.create();
alert.show();
}
});
this.secondBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
final CharSequence[] items = {"1", "2", "3"};
AlertDialog.Builder builder = new AlertDialog.Builder(SlovnikoidActivity.this);
builder.setTitle("test");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
langFrom.setText(items[item]);
}
});
AlertDialog alert = builder.create();
alert.show();
}
});
只是有兩個不同的部分:this.firstBtn
和this.secondBtn
有沒有辦法如何合併呢?例如,當我點擊firstBtn
它調用一個函數foo(firstBtn)
和secondBtn
調用foo(secondBtn)
和其餘的工作原理是什麼? 我不確定語法等,因爲我今天是Java和Android開發新手。
謝謝
看起來不錯。我通過添加'extends SlovnikoidActivity'來修正了一個錯誤,但是你的代碼的第四行還有一個錯誤,它說'沒有可以在範圍內訪問SlovnikoidActivity類型的封閉實例。我不知道如何解決它,因爲我不確定它是什麼意思。謝謝 – simPod
使這個類定義成爲你的Activity類的一個子類(我認爲它被稱爲'SlovnikoidActivity')。這樣做會擺脫你的例外。 –
做的子類是由'extends SlovnikoidActivity'做的,對吧?它有助於擺脫一些錯誤,但還是有這個錯誤'類型SlovnikoidActivity是scope' – simPod