此代碼的工作:的功能外移動對象的聲明導致崩潰
public void saveRoutine() {
datasource = new RoutinesDataSource(this);
datasource.open();
EditText routineName = (EditText) findViewById(R.id.routine_add_name);
String routineString = routineName.getText().toString();
if (routineString.length() == 0) {
Toast toast_routine_name_empty = Toast.makeText(this, getString(R.string.toast_routine_name_empty), Toast.LENGTH_SHORT);
toast_routine_name_empty.show();
}
else {
datasource.createRoutine(routineString);
Toast toast_added = Toast.makeText(this, getString(R.string.toast_routine_added), Toast.LENGTH_SHORT);
toast_added.show();
this.finish();
}
}
然而,當我招行EditText routineName = (EditText) findViewById(R.id.routine_add_name);
以上(外)saveRoutine()
功能,它使我的應用程序崩潰。
我該如何做到這一點,我可以使用內部的對象不僅僅是saveRoutine()
函數?
例如,我想用下面的saveRoutine()
功能的代碼,使其因此當按下ENTER鍵時,它調用saveRoutine()
:
routineName.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode) {
case KeyEvent.KEYCODE_ENTER:
saveRoutine();
return true;
default:
break;
}
}
return false;
}
});
對不起fr我可憐的格式,我從移動訪問stackoverflow,它是皮塔餅。 –
id而不是創建一個如此簡單的東西的子類。 – scarhand