更新数据库+ Onkeylistenner中的行

时间:2014-03-14 18:45:35

标签: android sqlite keylistener

我有一个包含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()中执行此操作,如何在编辑后直接获取已编辑的文本并更新我的数据库?

2 个答案:

答案 0 :(得分:0)

您可以让dab成为您的活动成员:

 private CategoriesDAO dab;

然后,您可以像使用editText一样从侦听器内部访问此字段。

答案 1 :(得分:0)

将您的dab作为班级成员,然后您可以根据需要访问它。

不要使用this关键字来访问它,因为"这个"不代表你当时的活动;)

问候