0

私は単純なものが欠けていることを知っています。SQLiteFTP アドレス、ログインの詳細、ホーム ディレクトリ、URL などを追跡するために使用する Web サイト マネージャーを作成しました。Activityユーザーがサイトの詳細を選択および編集できるようにします。[更新] ボタンをクリックすると、サイトの行が更新されます。データベースですが、保存できない唯一のデータベース値は_remoteHomeDir、Web サイトのリモート ディレクトリの var です。この値が更新されないのはなぜですか?

siteManUpdateBtn.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        _address = siteManFTPAddress.getText().toString();
        _username = siteManFTPUsername.getText().toString();
        _password = siteManFTPPassword.getText().toString();
        String port = siteManFTPPort.getText().toString();
        _port = Integer.parseInt(port);
        _url = siteManHome.getText().toString();
        _remoteHomeDir = siteManHome.getText().toString();
        Toast.makeText(SiteManager.this, "Update", Toast.LENGTH_LONG).show();

    myDb.updateRow(_rowId, _name,  _name, _isLive, _address, _username, _password, _port, _url,_remoteHomeDir);
    model.clear();
    adapter.notifyDataSetChanged();
    displayRecords();
    }
});

DBAdapter.java

public boolean updateRow(long rowId, String name, String homedir,
    int islive, String address, String username, String password,
    int port, String url, String rhome) {
String where = KEY_ROWID + "=" + rowId;

/*
 * CHANGE 4:
 */
// TODO: Update data in the row with new fields.
// TODO: Also change the function's arguments to be what you need!
// Create row's data:
ContentValues newValues = new ContentValues();
newValues.put(KEY_NAME, name);
Log.d("tag", "there is something happening here: " + name);
newValues.put(KEY_HOME, homedir);
Log.d("tag", "there is something happening here: " + homedir);
newValues.put(KEY_LIVE, islive);
Log.d("tag", "there is something happening here: " + islive);
newValues.put(KEY_ADDRESS, address);
Log.d("tag", "there is something happening here: " + address);
newValues.put(KEY_USERNAME, username);
Log.d("tag", "there is something happening here: " + username);
newValues.put(KEY_PASSWORD, password);
Log.d("tag", "there is something happening here: " + password);
newValues.put(KEY_PORT, port);
Log.d("tag", "there is something happening here: " + port);
newValues.put(KEY_URL, url);
Log.d("tag", "there is something happening here: " + url);
newValues.put(KEY_RHOME, rhome);
Log.d("tag", "there is something happening here: " + rhome);
// newValues.put(KEY_PASSIVE, passive);
// Insert it into the database.
Log.d("tag", "there is something happening here: " + db.toString());
return db.update(DATABASE_TABLE, newValues, where, null) != 0;
}
4

1 に答える 1

1

edittext siteManHome から _url と _remoteHomeDir の両方に同じ値を読み取っているようです。これは間違いである可能性があり、GUI に別の編集テキストがある可能性があります。

あれは:

_url = siteManHome.getText().toString();
_remoteHomeDir = siteManHome.getText().toString();

ひょっとして_remoteHomeDir、別の分野から取得するつもりだったのですか?

于 2013-07-13T04:16:40.093 に答える