我有一个包含EditText
的布局,我使用key listenner
来提交EditText中的值。提交确认点击Enter Now Now我想更新我的表中的值确认,但我不知道如何。
这是我的活动
public class Income extends Activity {
private EditText edittext;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.income);
CategoriesDAO dab = new CategoriesDAO(this);
addKeyListener();
}
public void addKeyListener() {
edittext = (EditText) findViewById(R.id.editText1income);
edittext.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_ENTER)&&(edittext.length()==0)) {
Toast.makeText(Income.this,"Set up monthly income to continue", Toast.LENGTH_LONG).show();
return true;
} else if((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_ENTER)&&(edittext.length()!=0)) {
Toast.makeText(Income.this,
"Monthly income is successfully modified to "+edittext.getText(), Toast.LENGTH_LONG).show();
return true;
}
return false;
}
});
}
我尝试做类似myobject的事情
myobject = dab.getobjet;
myobject.setedittext;
dab.update(myobject)
但我无法在函数addKeyListener()中执行此操作,如何在编辑后直接获取已编辑的文本并更新我的数据库?
答案 0 :(得分:0)
您可以让dab
成为您的活动成员:
private CategoriesDAO dab;
然后,您可以像使用editText一样从侦听器内部访问此字段。
答案 1 :(得分:0)
将您的dab作为班级成员,然后您可以根据需要访问它。
不要使用this关键字来访问它,因为"这个"不代表你当时的活动;)
问候