0

私には2つの活動があります。特定のエントリのデータベース情報をユーザーに表示し、そこからユーザーがそのエントリを編集することを選択できるもの。

既存のデータをコピーし、古いデータで新しいエントリを開始する機能を追加して、同じ情報を再度入力する必要がないようにします。

SharedPrefsを使用してみましたが、どこにも行きません。うまくいけば、ここの誰かが適切なコーディングエチケットに光を当てることができます。

私は私の説明で非常に詳細になるように最善を尽くします

これは、まったく新しいエントリを開始するためのコードです。

 public boolean onOptionsItemSelected(MenuItem item) 
{
  Intent addContact = new Intent(CrList.this, CrAETune.class);
  startActivity(addContact);
  return super.onOptionsItemSelected(item);
}

次に、このクラスは新しいエントリを編集する場所であり、これは私がそれを保存するために使用しているコードです...

     private void saveContact() 
       {
          CrDbCon dbConnector = new CrDbCon(this);

          if (getIntent().getExtras() == null)
          {
              dbConnector.insertContact(
                      caret.getText().toString(),//1
                      lapet.getText().toString(),
                      trket.getText().toString());

これは、エントリを表示するクラスであり、後で編集できますが、これを新しいエントリにコピーできる必要があります...

 case R.id.editItem:
            Intent addEditContact =
               new Intent(this, CrAETune.class);

            addEditContact.putExtra(CrList.ROW_IID, rowid);
            addEditContact.putExtra("car", car.getText());
            addEditContact.putExtra("lap", lap.getText());
  startActivity(addEditContact); 
            return true;

これが十分な情報ではない場合は、コメントで知らせてください...私はここでかなり迷っています...私の望ましい結果を得るために何をすべきかわかりません。よろしくお願いします...

4

1 に答える 1

1

私が思う最善の方法は、連絡先 ID を addContact アクティビティに渡すことです。次に、その ID を使用して入力し、すべてのユーザー データを読み込み、実行して新しいアイテムとして保存します。(例dbconnection.addContact(..,..,contact,stuff..);)

これにより、その人は連絡先に必要な変更を加えたり、何も変更したりできなくなります。

于 2013-02-18T20:32:34.310 に答える