-1

ユーザーの皆様、私は Android と SQLite テクノロジーに不慣れです。次のステートメントでエラーが発生します。親切に私を修正してください。

Cursor mCur=
    db.query(DATABASE_TABLE,
             new String[]{ROWID,MEDICINE,KEY_DESC,PRICE},
             MEDICINE+" = "+medName,null,null,null,null);

text_change私の他の質問は、C# .NET で使用していたように、EditText の機能を使用できるように、EditText に関連付けられたイベントがあるかということです。[入力すると、テキストイベントが発生するはずです]。

このために、次のイベントで試しました:

  • setOnEditActionListener および
  • setOnTouchListener
4

2 に答える 2

1

medName1)SQLクエリでは、文字列であるため問題があったと思います。次を使用します。

Cursor mCur=
    db.query(DATABASE_TABLE,
             new String[]{ROWID,MEDICINE,KEY_DESC,PRICE},
             MEDICINE+" = ?",new String[] {medName},null,null,null);

このアプローチは、SQL インジェクション攻撃からも保護します。

2) EditText の変更をリッスンするには、TextWatcher.

EditText edit = (EditText) findViewById(R.id.edit);
edit.addTextChangedListener(new TextWatcher() {
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }

    public void onTextChanged(CharSequence s, int start, int before, int count) {
    }

    public void afterTextChanged(Editable s) {
    }
});
于 2012-12-02T05:11:19.207 に答える
0

Sqlite に関する質問については、Logcat ログを投稿してください。

TextWatcher を EditText に追加して、3 つのコールバック メソッドを実装します。

于 2012-12-02T05:13:51.787 に答える