2012-08-26 21 views
0

我有一个文本备忘录Android应用程序接受文本并将其添加到数据库。我以前在数据库中添加了一些内容,当我打开Memo Activity时,这些先前输入的数据的列表显示在行中。但是当我创建一个新的备忘录并击中save时,没有任何反应。它既不显示错误,也不显示“强行关闭”对话。当我点击“保存”按钮,该条目不会被添加到SQLite数据库

这是我MemoActivity.java:

public class MemoActivity extends ListActivity { 
private Button newMemoButton; 
Typeface kannadaFont; 
private MemoDbAdapter memoDbAdapter; 
private Cursor cursor; 



@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.memo); 
    kannadaFont = Typeface.createFromAsset(getAssets(), "fonts/Lohit-Kannada.ttf"); 

    memoDbAdapter = new MemoDbAdapter(this); 
    memoDbAdapter.open(); 
    fillData(); 

    // Use our own list adapter 
    setListAdapter(new MemoListAdapter(this)); 

    newMemoButton = (Button) findViewById(R.id.buttonNewMemo); 
    newMemoButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View arg0) { 
      Intent intent = new Intent(getBaseContext(), TextEditorActivity.class); 
      // Intent intent = new Intent(MemoActivity.this, TextEditorActivity.class); 
      startActivity(intent); 
     } 
    }); 
} 

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    if (memoDbAdapter != null) { 
     memoDbAdapter.close(); 
    } 
} 

private void fillData() { 
    cursor = memoDbAdapter.fetchAllMemos(); 
    startManagingCursor(cursor); 
    String[] from = new String[] { MemoDbAdapter.KEY_CREATED_DATE, MemoDbAdapter.KEY_CREATED_TIME, 
      MemoDbAdapter.KEY_NOTE }; 
    int[] to = new int[] { R.id.createdDate, R.id.createdTime, R.id.content }; 
    // Now create an array adapter and set it to display using our row 
    SimpleCursorAdapter notes = new MemoListAdapter2(this, R.layout.memo_entry, cursor, from, to); 
    setListAdapter(notes); 
} 

private class MemoListAdapter2 extends SimpleCursorAdapter { 
    public MemoListAdapter2(Context context, int layout, Cursor c, String[] from, int[] to) { 
     super(context, layout, c, from, to); 
    } 

    @Override 
    public View newView(Context context, Cursor cursor, ViewGroup parent) { 
     String createdDate = cursor.getString(cursor.getColumnIndex(MemoDbAdapter.KEY_CREATED_DATE)); 
     String createdTime = cursor.getString(cursor.getColumnIndex(MemoDbAdapter.KEY_CREATED_TIME)); 
     String memoNote = cursor.getString(cursor.getColumnIndex(MemoDbAdapter.KEY_NOTE)); 
     String memoId = cursor.getString(cursor.getColumnIndex(MemoDbAdapter.KEY_ROWID)); 
     int position = new Integer(memoId); 

     MemoView mv = new MemoView(context, LayoutInflater.from(context), createdDate, createdTime, 
       memoNote, false); 
     mv.setOnClickListener(new OnItemClickListener(position)); 
     mv.editButton.setOnClickListener(new OnEditMemoClickListener(position)); 
     mv.deleteButton.setOnClickListener(new OnDeleteMemoClickListener(position)); 
     return mv; 
    } 

    @Override 
    public void bindView(View view, Context context, Cursor cursor) { 
     String createdDate = cursor.getString(cursor.getColumnIndex(MemoDbAdapter.KEY_CREATED_DATE)); 
     String createdTime = cursor.getString(cursor.getColumnIndex(MemoDbAdapter.KEY_CREATED_TIME)); 
     String memoNote = cursor.getString(cursor.getColumnIndex(MemoDbAdapter.KEY_NOTE)); 
     String memoId = cursor.getString(cursor.getColumnIndex(MemoDbAdapter.KEY_ROWID)); 
     int position = new Integer(memoId); 

     MemoView mv = (MemoView) view; 
     mv.setCreatedDate(createdDate); 
     mv.setCreatedTime(createdTime); 
     mv.setContent(memoNote); 
     mv.setExpanded(false); 
     mv.setOnClickListener(new OnItemClickListener(position)); 
     mv.editButton.setOnClickListener(new OnEditMemoClickListener(position)); 
     mv.deleteButton.setOnClickListener(new OnDeleteMemoClickListener(position)); 
    } 

    public void toggle(int position) { 
     // mExpanded[position] = !mExpanded[position]; 
     notifyDataSetChanged(); 
    } 
} 

private class MemoListAdapter extends BaseAdapter { 
    private Context mContext; 
    private LayoutInflater mInflater; 

    public MemoListAdapter(Context context) { 
     mContext = context; 
     mInflater = LayoutInflater.from(context); 
    } 

    public int getCount() { 
     return mContents.length; 
    } 

    /** 
    * Since the data comes from an array, just returning the index is sufficient to get at the data. If 
    * we were using a more complex data structure, we would return whatever object represents one row in 
    * the list. 
    * 
    * @see android.widget.ListAdapter#getItem(int) 
    */ 
    public Object getItem(int position) { 
     return position; 
    } 

    /** 
    * Use the array index as a unique id. 
    * 
    * @see android.widget.ListAdapter#getItemId(int) 
    */ 
    public long getItemId(int position) { 
     return position; 
    } 

    /** 
    * Make a MemoView to hold each row. 
    * 
    * @see android.widget.ListAdapter#getView(int, android.view.View, android.view.ViewGroup) 
    */ 
    public View getView(int position, View convertView, ViewGroup parent) { 
     MemoView mv; 
     if (convertView == null) { 
      mv = new MemoView(mContext, mInflater, mDates[position], mTimes[position], 
        mContents[position], mExpanded[position]); 
     } else { 
      mv = (MemoView) convertView; 
      mv.setCreatedDate(mDates[position]); 
      mv.setCreatedTime(mTimes[position]); 
      mv.setContent(mContents[position]); 
      mv.setExpanded(mExpanded[position]); 
     } 
     mv.setOnClickListener(new OnItemClickListener(position)); 
     mv.editButton.setOnClickListener(new OnEditMemoClickListener(position)); 
     mv.deleteButton.setOnClickListener(new OnDeleteMemoClickListener(position)); 
     return mv; 
    } 

    public void toggle(int position) { 
     mExpanded[position] = !mExpanded[position]; 
     notifyDataSetChanged(); 
    } 

    /** 
    * Our data, part 1. 
    */ 
    private String[] mDates = { "22/05/1961", "22/05/1967", "22/05/1973", "22/05/1977", "22/05/1983", 
      "22/05/1990", "22/05/1994", "22/05/1998", "22/05/2010" }; 

    /** 
    * Our data, part 2. 
    */ 
    private String[] mTimes = { "1:31 PM", "9:53 AM", "11:02 AM", "10:20PM", "2:46 PM", "10:34 PM", 
      "10:26 AM", "2:31 PM", "8:51 PM" }; 

    /** 
    * Our data, part 3. 
    */ 
    private String[] mContents = { 
      "ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ ಭಾರತದ ಸಾಹಿತಿಗಳಿಗೆ ಸಲ್ಲುವ ಅತ್ಯಂತ ಪ್ರತಿಷ್ಟಿತ ಪ್ರಶಸ್ತಿ. " 
        + "ಈ ಪ್ರಶಸ್ತಿಯು ಭಾರತದ ಸಂವಿಧಾನದ ಎಂಟನೆ ಅನುಛ್ಛೇದದಲ್ಲಿ ಉಲ್ಲೇಖವಾಗಿರುವ " 
        + "ಭಾಷೆಗಳಲ್ಲಿ ಅತ್ಯುತ್ತಮ ಸಾಹಿತ್ಯ ಕೃತಿಯನ್ನು ರಚಿಸಿದ ಭಾರತೀಯ ನಾಗರಿಕನಿಗೆ ಲಭಿಸುವುದು. " 
        + "ಈ ಪ್ರಶಸ್ತಿಯನ್ನು ಮೇ ೨೨ ೧೯೬೧ ರಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾಯಿತು. ಈ ಪ್ರಶಸ್ತಿಯನ್ನು ಪ್ರಪ್ರಥಮವಾಗಿ " 
        + "೧೯೬೫ ರಲ್ಲಿ ಮಲೆಯಾಳಂ ಲೇಖಕ ಜಿ. ಶಂಕರ ಕುರುಪರಿಗೆ ಪ್ರದಾನ ಮಾಡಲಾಯಿತು. " 
        + "ವಿಜೇತರಿಗೆ ಪ್ರಶಸ್ತಿ ಫಲಕ, ಐದು ಲಕ್ಷ ರುಪಾಯಿ ನಗದು ಹಾಗು ವಾಗ್ದೇವಿಯ ಕಂಚಿನ " 
        + "ವಿಗ್ರಹವನ್ನು ನೀಡಿ ಗೌರವಿಸಲಾಗುವುದು.", 

      "ಕುವೆಂಪು - ಕುಪ್ಪಳ್ಳಿ ವೆಂಕಟಪ್ಪ ಪುಟ್ಟಪ್ಪ (೧೯೦೪ - ೧೯೯೪) - " 
        + "ಕನ್ನಡವು ಪಡೆದ ಅತ್ಯುತ್ತಮ ಕವಿ, 'ರಾಷ್ಟ್ರಕವಿ'. " 
        + "ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿಯನ್ನು ಪಡೆದ ಕನ್ನಡದ ಪ್ರಥಮ ವ್ಯಕ್ತಿ. " 
        + "'ವಿಶ್ವ ಮಾನವ'. ಕನ್ನಡ ಸಾಹಿತ್ಯಕ್ಕೆ ಇವರ ಕಾಣಿಕೆ ಅಪಾರ.", 

      "'ದ.ರಾ.ಬೇಂದ್ರೆ - ಕುಣಿಯೋಣು ಬಾರಾ ಕುಣಿಯೋಣು ಬಾ', " + "'ಇಳಿದು ಬಾ ತಾಯಿ ಇಳಿದು ಬಾ', " 
        + "'ನಾನು ಬಡವಿ ಆತ ಬಡವ ಒಲವೆ ನಮ್ಮ ಬದುಕು', " 
        + "ಎಂದು ಆರಂಭವಾಗುವ ಕವಿತೆಗಳನ್ನು ಕೇಳದ ಕನ್ನಡಿಗನಿಲ್ಲ. " + "ಉತ್ಸಾಹದ ಚಿಲುಮೆಯನ್ನುಕ್ಕಿಸಬಲ್ಲ, " 
        + "ನೊಂದ ಜೀವಕ್ಕೆ ಸಾಂತ್ವನ ನೀಡಬಲ್ಲ, " 
        + "ಪ್ರೀತಿ ಪ್ರೇಮಗಳನ್ನು ಮೂಡಿಸಬಲ್ಲ ಕವಿತೆಗಳನ್ನು ರಚಿಸಿಕೊಟ್ಟ ವರಕವಿ ಬೇಂದ್ರೆ. " 
        + "ರಸವೆ ಜನನ, ವಿರಸವೆ ಮರಣ, ಸಮರಸವೆ ಜೀವನ ಎಂದು ಜೀವನವನ್ನು " 
        + "ಕುರಿತು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಹೇಳಿದ ಧೀಮಂತ ಕವಿ.", 

      "ಶಿವರಾಮ ಕಾರಂತ - ಜ್ಞಾನಪೀಠ ಪುರಸ್ಕೃತ ಡಾ. ಶಿವರಾಮ ಕಾರಂತರು ಹುಟ್ಟಿದ್ದು " 
        + "ಉಡುಪಿ ಜಿಲ್ಲೆಯ ಕೋಟದಲ್ಲಿ ೧೯೦೨, ಅಕ್ಟೋಬರ್ ೧೦ರಂದು. " 
        + "ಒಂದು ಶತಮಾನಕ್ಕೆ ನಾಲ್ಕು ವರ್ಷಗಳಷ್ಟೇ ಕಮ್ಮಿ ಬಾಳಿ, " 
        + "ಅರ್ಥಪೂರ್ಣ ಬದುಕು ಕಳೆದ ಸಾಹಿತ್ಯ ದಿಗ್ಗಜ ಡಾ. " 
        + "ಶಿವರಾಮ ಕಾರಂತರು ೧೯೯೭, ಡಿಸೆಂಬರ್ ೦೯ ರಂದು ನಿಧನ ಹೊಂದಿದರು. " 
        + "ತಮ್ಮ ಜೀವಿತಾವಧಿಯಲ್ಲಿ ಸುಮಾರು ೪೨೭ ಪುಸ್ತಕಗಳನ್ನು ರಚಿಸಿದರು. " 
        + "ಅವುಗಳಲ್ಲಿ ಕಾದಂಬರಿಗಳು ೪೭. ತಮ್ಮ ೯೬ನೆಯ ವಯಸ್ಸಿನಲ್ಲೂ ಹಕ್ಕಿಗಳ " 
        + "ಕುರಿತು ಒಂದು ಪುಸ್ತಕವನ್ನು ಬರೆದಿದ್ದು, ಇದು ವಿಶ್ವ ದಾಖಲೆಗೆ " 
        + "ಅರ್ಹವಾಗಿರುವ ಒಂದು ಸಾಧನೆ ಎನ್ನಬಹುದು.", 

      "ಮಾಸ್ತಿ ವೆಂಕಟೇಶ ಅಯ್ಯಂಗಾರರು (ಜೂನ್ ೬ ೧೮೯೧ - ಜೂನ್ ೬ ೧೯೮೬) " 
        + "- ಕನ್ನಡದ ಒಬ್ಬ ಅಪ್ರತಿಮ ಲೇಖಕರು. ಕನ್ನಡ ಸಾಹಿತ್ಯ ಲೋಕದಲ್ಲಿ ಮಾಸ್ತಿ " 
        + "ಎಂದೇ ಖ್ಯಾತರಾಗಿರುವ ಈ ಸಾಹಿತಿ ಶ್ರೀನಿವಾಸ ಎಂಬ ಕಾವ್ಯನಾಮದಡಿಯಲ್ಲಿ ಬರೆಯುತ್ತಿದರು. " 
        + "೧೯೮೩ ರಲ್ಲಿ ಚಿಕವೀರ ರಾಜೇಂದ್ರ ಕಾದಂಬರಿಗಾಗಿ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿಯಿಂದ " 
        + "ಪುರಸ್ಕೃತಗೊಂಡ ಮಾಸ್ತಿಯವರು ಕನ್ನಡಕ್ಕೆ ನಾಲ್ಕನೆ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿಯನ್ನು ತಂದು ಕೊಟ್ಟರು. " 
        + "ಜೀವನ ಪರ್ಯಂತ ಕನ್ನಡ ಸೇವೆಯನ್ನು ಮಾಡಿದ ಮಾಸ್ತಿಯವರು ಜೂನ್ ೬ ೧೯೮೬ ರಂದು ನಿಧನ ಹೊಂದಿದರು.", 

      "ವಿನಾಯಕ ಕೃಷ್ಣ ಗೋಕಾಕ - ಕನ್ನಡಕ್ಕೆ ಐದನೆಯ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿಯನ್ನು ೧೯೯೧ರಲ್ಲಿ ತಂದುಕೊಟ್ಟ " 
        + "ವಿನಾಯಕ ಕೃಷ್ಣ ಗೋಕಾಕರು ಹಲವು ರೀತಿಯಲ್ಲಿ ಅದೃಷ್ಠವಂತರು. " 
        + "ಅವರು ಕನ್ನಡದ ಪ್ರತಿಭಾವಂತ ಕವಿ, ಪಂಡಿತರಾಗಿದ್ದರು. " 
        + "ಕನ್ನಡ-ಇಂಗ್ಲೀಷ್ ಭಾಷೆಗಳಲ್ಲಿ ಸಮಾನ ಪ್ರಭುತ್ವ ಪಡೆದಿದ್ದ ಅವರು " 
        + "ತಮ್ಮ ಜೀವಿತ ಕಾಲದಲ್ಲೇ ಒಬ್ಬ ಪ್ರತಿಭಾವಂತ ಸಾಹಿತಿಗೆ ದೊರಕಬೇಕಾದ " 
        + "ಎಲ್ಲ ಸಿದ್ಧಿ, ಪ್ರಸಿದ್ಧಿಗಳನ್ನು ಪಡೆದರು. " 
        + "ಗೋಕಾಕರು ಇದಕ್ಕೂ ಮೊದಲು ಭಾರತೀಯ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ ಆಯ್ಕೆ ಸಮಿತಿಯ ಅಧ್ಯಕ್ಷರಾಗಿದ್ದರು.", 

      "ಯು.ಆರ್.ಅನಂತಮೂರ್ತಿ - ಕನ್ನಡಕ್ಕೆ ಆರನೆಯ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ ೧೯೯೪ರಲ್ಲಿ ಬಂದಾಗ ಕನ್ನಡ ಸಾಹಿತ್ಯ " 
        + "ಲೋಕ ಮತ್ತೊಮ್ಮೆ ಇಡೀ ದೇಶದ ಗಮನ ಸೆಳೆಯಿತು. " 
        + "ಈ ಗೌರವ ಪಡೆದವರು ಡಾ| ಉಡುಪಿ ರಾಜಗೋಪಾಲಾಚಾರ್ಯ ಅನಂತಮೂರ್ತಿ. " 
        + "ತಮ್ಮ ಬಹುಚರ್ಚಿತ ಸಂಸ್ಕಾರ ಕಾದಂಬರಿಯಿಂದ ಭಾರತೀಯ ಸಾಹಿತ್ಯ " 
        + "ಮತ್ತು ಚಲನಚಿತ್ರ ರಂಗಗಳಲ್ಲಿ ಒಂದು ದೊಡ್ಡ ವಿವಾದವನ್ನೇ ಮಾಡಿದ ಅನಂತಮೂರ್ತಿ " 
        + "ಅವರು ಹುಟ್ಟಿದ್ದು ಶಿವಮೊಗ್ಗ ಜಿಲ್ಲೆಯ ತೀರ್ಥಹಳ್ಳಿ ತಾಲ್ಲೂಕಿನ ಮೇಳಿಗೆ ಹಳ್ಳಿಯಲ್ಲಿ. " 
        + "ಇಬ್ಬರು ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ ವಿಜೇತ (ಕುವೆಂಪು ಮತ್ತು ಅನಂತಮೂರ್ತಿ) ರನ್ನು " 
        + "ನೀಡಿದ ಹೆಗ್ಗಳಿಕೆ ತೀರ್ಥಹಳ್ಳಿ ತಾಲ್ಲೂಕಿನದು. " 
        + "ಇವರು ಹುಟ್ಟಿದ್ದು ೧೯೩೨ರ ಡಿಸೆಂಬರ್ ೨೧ರಂದು. " 
        + "ತಂದೆ ಉಡುಪಿ ರಾಜಗೋಪಾಲಾಚಾರ್ಯ. ತಾಯಿ ಸತ್ಯಮ್ಮ (ಸತ್ಯಭಾಮ).", 

      "ಗಿರೀಶ್ ರಘುನಾಥ್ ಕಾರ್ನಾಡ್ (ಹುಟ್ಟು - ಮೇ ೧೯, ೧೯೩೮) " 
        + "ಕನ್ನಡಕ್ಕೆ ಏಳನೇ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ ತಂದುಕೊಟ್ಟ ಕನ್ನಡ " 
        + "ಸಾಹಿತ್ಯದ ನಾಟಕ ಕ್ಷೇತ್ರಕ್ಕೆ ಸಾಹಿತಿ. " 
        + "ಭಾರತದಲ್ಲೇ ನಾಟಕ ಸಾಹಿತ್ಯ ರಚನೆಗೆ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ " 
        + "ಪಡೆದವರಲ್ಲಿ ಕಾರ್ನಾಡ್ ಮೊದಲಿಗರು. " + "ಮತ್ತು ಇಬ್ಬರು ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ ಪುರಸ್ಕೃತರ " 
        + "ಕಾದಂಬರಿಗಳನ್ನು ಸಿನಿಮಾ ಮಾಡಿದ ಏಕೈಕ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ " 
        + "ಪುರಸ್ಕೃತರೆಂಬ ಗೌರವಕ್ಕೆ ಕಾರ್ನಾಡ್ ಪಾತ್ರರಾಗಿದ್ದಾರೆ.", 

      "ಡಾ. ಚಂದ್ರಶೇಖರ ಕಂಬಾರ (ಜನನ- ೨ ಜನವರಿ ೧೯೩೭)ರಂದು " 
        + "ಬೆಳಗಾವಿ ಜಿಲ್ಲೆ ಘೋಡಿಗೇರಿ ಗ್ರಾಮದ ಬಸವಣ್ಣೆಪ್ಪ ಕಂಬಾರ ಹಾಗೂ ಚೆನ್ನಮ್ಮ ದಂಪತಿಯ " 
        + "ಪುತ್ರನಾಗಿ ಜನಿಸಿದರು,ಬೆಳಗಾವಿ ಲಿಂಗರಾಜ ಕಾಲೇಜಿನಲ್ಲಿ ಬಿಎ, " 
        + "೧೯೬೨ರಲ್ಲಿ ಕರ್ನಾಟಕ ವಿವಿಯಿಂದ ಎಂ.ಎ ಪದವಿ,ಪಿ.ಎಚ್.ಡಿ.ಪದವಿ ಪಡೆದಿರುವ ಅವರು, " 
        + "ಬೆಂಗಳೂರು ವಿವಿ ಅಧ್ಯಪಕರು, ಕರ್ನಾಟಕ ಜಾನಪದ ಅಕಾಡೆಮಿಯ ಅಧ್ಯಕ್ಷ, " 
        + "ನವದೆಹಲಿಯ ರಾಷ್ಟ್ರೀಯ ನಾಟಕ ಶಾಲೆಯ ನಿರ್ದೇಶಕ,ಹಂಪಿ ಕನ್ನಡ ವಿವಿಯ " 
        + "ಮೊದಲ ಕುಲಪತಿಯಾಗಿ ಡಾ. ಚಂದ್ರಶೇಖರ ಕಂಬಾರ ಕಾರ್ಯನಿರ್ವಹಿಸಿದ್ದಾರೆ." }; 

    /** 
    * Our data, part 4. 
    */ 
    private boolean[] mExpanded = { false, false, false, false, false, false, false, false, false }; 
} 

private class OnItemClickListener implements OnClickListener { 
    private int mPosition; 

    OnItemClickListener(int position) { 
     mPosition = position; 
    } 

    public void onClick(View arg0) { 
     ((MemoListAdapter2) getListAdapter()).toggle(mPosition); 
    } 
} 

private class OnEditMemoClickListener implements OnClickListener { 
    private int mPosition; 

    OnEditMemoClickListener(int position) { 
     mPosition = position; 
    } 

    public void onClick(View arg0) { 
     Toast.makeText(getBaseContext(), "Edit item " + (mPosition + 1), Toast.LENGTH_SHORT).show(); 

     Cursor cursor = memoDbAdapter.fetchAllMemos(); 
     cursor.moveToPosition(mPosition + 1); 
     String message = cursor.getString(1); 
     String date = cursor.getString(2); 
     String time = cursor.getString(3); 
     cursor.close(); 

     Intent intent = new Intent(MemoActivity.this, TextEditorActivity.class); 
     Bundle bundle = new Bundle(); 
     bundle.putString("message", message); 
     bundle.putString("date", date); 
     bundle.putString("time", time); 
     intent.putExtras(bundle); 
     startActivityForResult(intent, 110); 
    } 
} 


@Override 
protected void onResume() { 
    // TODO Auto-generated method stub 
    super.onResume(); 
    //MemoListAdapter = new ListAdapter<String>(this, android.R.layout.simple_list_item_1, fillData()); 
    getListView(); 

} 

@Override 
protected void onStart() { 
    // TODO Auto-generated method stub 
    super.onStart(); 
} 

private class OnDeleteMemoClickListener implements OnClickListener { 
    private int mPosition; 

    OnDeleteMemoClickListener(int position) { 
     mPosition = position; 
    } 

    public void onClick(View arg0) { 
     Toast.makeText(getBaseContext(), "Delete item " + (mPosition + 1), Toast.LENGTH_SHORT).show(); 
     // mContext.getContentResolver().delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null); 
     memoDbAdapter.deleteMemo(mPosition + 1); 
     Intent intent = new Intent(MemoActivity.this, MemoActivity.class); 
     startActivity(intent); 
    } 
} 

private class MemoView extends LinearLayout { 
    ImageButton editButton; 
    ImageButton deleteButton; 
    private TextView createdDate; 
    private TextView createdTime; 
    private TextView content; 

    public MemoView(Context context, LayoutInflater inflater, String _createdDate, String _createdTime, 
      String _content, boolean expanded) { 
     super(context); 
     View inflatedView = inflater.inflate(R.layout.memo_entry, null); 

     editButton = (ImageButton) inflatedView.findViewById(R.id.editIcon); 
     deleteButton = (ImageButton) inflatedView.findViewById(R.id.deleteIcon); 

     createdDate = (TextView) inflatedView.findViewById(R.id.createdDate); 
     createdDate.setText(_createdDate); 

     createdTime = (TextView) inflatedView.findViewById(R.id.createdTime); 
     createdTime.setText(_createdTime); 

     content = (TextView) inflatedView.findViewById(R.id.content); 
     content.setTypeface(kannadaFont); 
     content.setText(_content); 
     content.setSingleLine(expanded ? false : true); 

     addView(inflatedView, new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 
       LayoutParams.FILL_PARENT)); 
    } 

    public void setCreatedDate(String _createdDate) { 
     createdDate.setText(_createdDate); 
    } 

    public void setCreatedTime(String _createdTime) { 
     createdTime.setText(_createdTime); 
    } 

    public void setContent(String _content) { 
     content.setText(_content); 
    } 

    public void setExpanded(boolean expanded) { 
     content.setSingleLine(expanded ? false : true); 
    } 
} 
} 

这是我TextEditorActivity.java:

public class TextEditorActivity extends Activity implements OnClickListener{ 

private EditText indicTextEditor; 
private Button buttonSave; 
private Button buttonCancel; 
Typeface kannadaFont; 

private static final String EDITOR_CONTENT = "Current contents of text editor"; 
//private ArrayList<String> arrayList; 
MemoDbAdapter memoAdapter=null; 
String date; 
String time; 




@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.text_editor); 



    indicTextEditor = (EditText) findViewById(R.id.textEditor); 
    // arrayList=new ArrayList<String>(); 


    if (savedInstanceState != null) { 
     String previousEditorContent = savedInstanceState.getString(EDITOR_CONTENT); 
     if (previousEditorContent != null) { 
      indicTextEditor.setText(previousEditorContent); 
     } 
    } else { 
     Bundle bundle = getIntent().getExtras(); 
     if (bundle != null) { 
      String msg = bundle.getString("message"); 
      String date = bundle.getString("date"); 
      String time = bundle.getString("time"); 
      if (msg != null) { 

       indicTextEditor.setText(msg); 
       kannadaFont = Typeface.createFromAsset(getAssets(), "fonts/Lohit-Kannada.ttf"); 
      } 
     } 
    } 

    buttonSave = (Button) findViewById(R.id.buttonSave); 

    buttonSave.setOnClickListener(this); 
    buttonSave.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 

     } 
    }); 


    buttonCancel = (Button) findViewById(R.id.buttonCancel); 
    buttonCancel.setOnClickListener(this); 


} 

@Override 
protected void onSaveInstanceState(Bundle outState) { 
    // Save the editor text, so we still have it if the activity needs to be killed while paused. 
    outState.putString(EDITOR_CONTENT, indicTextEditor.getText().toString()); 
    super.onSaveInstanceState(outState); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    MenuItem mnu1 = menu.add(0, 0, 0, "Color"); 
    MenuItem mnu2 = menu.add(0, 0, 0, "Delete"); 
    mnu1.setIcon(R.drawable.fonts); 
    mnu2.setIcon(R.drawable.delete); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    Toast.makeText(getBaseContext(), item.getTitle() + " menu selected", Toast.LENGTH_SHORT).show(); 

    return true; 
} 

@Override 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    default: 
     return null; 
    } 
} 


public void onClick(View v) { 
    // TODO Auto-generated method stub 
    if(v.getId()==R.id.buttonSave){ 
     String enteredText=null; 
     enteredText=indicTextEditor.getText().toString(); 
     date=DateFormat.getDateFormatOrder(getBaseContext()).toString(); 
     time=DateFormat.getTimeFormat(getBaseContext()).toString(); 

     memoAdapter.open(); 
     long id=memoAdapter.createMemo(enteredText, date, time); 
     memoAdapter.updateMemo(id, enteredText, date, time); 
     memoAdapter.close(); 
     finish(); 
    } 
    else if(v.getId()==R.id.buttonCancel){ 
     finish(); 
    } 


} 

} 

这是我MemoDbAdapter.java:

public class MemoDbAdapter { 

    private static final String TAG = "MemoDataHandler"; 

    private static final String DATABASE_NAME = "indicAppMemo.db"; 
    private static final int DATABASE_VERSION = 1; 
    private static final String DATABASE_TABLE = "memo"; 

    public static final String KEY_ROWID = "_id"; 
    public static final String KEY_NOTE = "note"; 
    public static final String KEY_CREATED_DATE = "created_date"; 
    public static final String KEY_CREATED_TIME = "created_time"; 

    /** 
    * This class helps open, create, and upgrade the database file. 
    */ 
    private static class DatabaseHelper extends SQLiteOpenHelper { 

     DatabaseHelper(Context context) { 
      super(context, DATABASE_NAME, null, DATABASE_VERSION); 
     } 

     @Override 
     public void onCreate(SQLiteDatabase db) { 
      db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" + KEY_ROWID + " INTEGER PRIMARY KEY," 
        + KEY_NOTE + " TEXT," + KEY_CREATED_DATE + " TEXT," + KEY_CREATED_TIME + " TEXT" 
        + ");"); 
      for (int i = 0; i < mDates.length; i++) { 
       ContentValues initialValues = createContentValues(mContents[i], mDates[i], mTimes[i]); 
       db.insert(DATABASE_TABLE, null, initialValues); 
      } 
     } 

     @Override 
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
      Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion 
        + ", which will destroy all old data"); 
      db.execSQL("DROP TABLE IF EXISTS" + DATABASE_TABLE); 
      onCreate(db); 
     } 

     /** 
     * Our data, part 1. 
     */ 
     private String[] mDates = { "22/05/1961", "22/05/1967", "22/05/1973", "22/05/1977", "22/05/1983", 
       "22/05/1990", "22/05/1994", "22/05/1998", "22/05/2010" }; 

     /** 
     * Our data, part 2. 
     */ 
     private String[] mTimes = { "1:31 PM", "9:53 AM", "11:02 AM", "10:20PM", "2:46 PM", "10:34 PM", 
       "10:26 AM", "2:31 PM", "8:51 PM" }; 

     /** 
     * Our data, part 3. 
     */ 
     private String[] mContents = { 
       "ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ ಭಾರತದ ಸಾಹಿತಿಗಳಿಗೆ ಸಲ್ಲುವ ಅತ್ಯಂತ ಪ್ರತಿಷ್ಟಿತ ಪ್ರಶಸ್ತಿ. " 
         + "ಈ ಪ್ರಶಸ್ತಿಯು ಭಾರತದ ಸಂವಿಧಾನದ ಎಂಟನೆ ಅನುಛ್ಛೇದದಲ್ಲಿ ಉಲ್ಲೇಖವಾಗಿರುವ " 
         + "ಭಾಷೆಗಳಲ್ಲಿ ಅತ್ಯುತ್ತಮ ಸಾಹಿತ್ಯ ಕೃತಿಯನ್ನು ರಚಿಸಿದ ಭಾರತೀಯ ನಾಗರಿಕನಿಗೆ ಲಭಿಸುವುದು. " 
         + "ಈ ಪ್ರಶಸ್ತಿಯನ್ನು ಮೇ ೨೨ ೧೯೬೧ ರಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾಯಿತು. ಈ ಪ್ರಶಸ್ತಿಯನ್ನು ಪ್ರಪ್ರಥಮವಾಗಿ " 
         + "೧೯೬೫ ರಲ್ಲಿ ಮಲೆಯಾಳಂ ಲೇಖಕ ಜಿ. ಶಂಕರ ಕುರುಪರಿಗೆ ಪ್ರದಾನ ಮಾಡಲಾಯಿತು. " 
         + "ವಿಜೇತರಿಗೆ ಪ್ರಶಸ್ತಿ ಫಲಕ, ಐದು ಲಕ್ಷ ರುಪಾಯಿ ನಗದು ಹಾಗು ವಾಗ್ದೇವಿಯ ಕಂಚಿನ " 
         + "ವಿಗ್ರಹವನ್ನು ನೀಡಿ ಗೌರವಿಸಲಾಗುವುದು.", 

       "ಕುವೆಂಪು - ಕುಪ್ಪಳ್ಳಿ ವೆಂಕಟಪ್ಪ ಪುಟ್ಟಪ್ಪ (೧೯೦೪ - ೧೯೯೪) - " 
         + "ಕನ್ನಡವು ಪಡೆದ ಅತ್ಯುತ್ತಮ ಕವಿ, 'ರಾಷ್ಟ್ರಕವಿ'. " 
         + "ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿಯನ್ನು ಪಡೆದ ಕನ್ನಡದ ಪ್ರಥಮ ವ್ಯಕ್ತಿ. " 
         + "'ವಿಶ್ವ ಮಾನವ'. ಕನ್ನಡ ಸಾಹಿತ್ಯಕ್ಕೆ ಇವರ ಕಾಣಿಕೆ ಅಪಾರ.", 

       "'ದ.ರಾ.ಬೇಂದ್ರೆ - ಕುಣಿಯೋಣು ಬಾರಾ ಕುಣಿಯೋಣು ಬಾ', " + "'ಇಳಿದು ಬಾ ತಾಯಿ ಇಳಿದು ಬಾ', " 
         + "'ನಾನು ಬಡವಿ ಆತ ಬಡವ ಒಲವೆ ನಮ್ಮ ಬದುಕು', " 
         + "ಎಂದು ಆರಂಭವಾಗುವ ಕವಿತೆಗಳನ್ನು ಕೇಳದ ಕನ್ನಡಿಗನಿಲ್ಲ. " + "ಉತ್ಸಾಹದ ಚಿಲುಮೆಯನ್ನುಕ್ಕಿಸಬಲ್ಲ, " 
         + "ನೊಂದ ಜೀವಕ್ಕೆ ಸಾಂತ್ವನ ನೀಡಬಲ್ಲ, " 
         + "ಪ್ರೀತಿ ಪ್ರೇಮಗಳನ್ನು ಮೂಡಿಸಬಲ್ಲ ಕವಿತೆಗಳನ್ನು ರಚಿಸಿಕೊಟ್ಟ ವರಕವಿ ಬೇಂದ್ರೆ. " 
         + "ರಸವೆ ಜನನ, ವಿರಸವೆ ಮರಣ, ಸಮರಸವೆ ಜೀವನ ಎಂದು ಜೀವನವನ್ನು " 
         + "ಕುರಿತು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಹೇಳಿದ ಧೀಮಂತ ಕವಿ.", 

       "ಶಿವರಾಮ ಕಾರಂತ - ಜ್ಞಾನಪೀಠ ಪುರಸ್ಕೃತ ಡಾ. ಶಿವರಾಮ ಕಾರಂತರು ಹುಟ್ಟಿದ್ದು " 
         + "ಉಡುಪಿ ಜಿಲ್ಲೆಯ ಕೋಟದಲ್ಲಿ ೧೯೦೨, ಅಕ್ಟೋಬರ್ ೧೦ರಂದು. " 
         + "ಒಂದು ಶತಮಾನಕ್ಕೆ ನಾಲ್ಕು ವರ್ಷಗಳಷ್ಟೇ ಕಮ್ಮಿ ಬಾಳಿ, " 
         + "ಅರ್ಥಪೂರ್ಣ ಬದುಕು ಕಳೆದ ಸಾಹಿತ್ಯ ದಿಗ್ಗಜ ಡಾ. " 
         + "ಶಿವರಾಮ ಕಾರಂತರು ೧೯೯೭, ಡಿಸೆಂಬರ್ ೦೯ ರಂದು ನಿಧನ ಹೊಂದಿದರು. " 
         + "ತಮ್ಮ ಜೀವಿತಾವಧಿಯಲ್ಲಿ ಸುಮಾರು ೪೨೭ ಪುಸ್ತಕಗಳನ್ನು ರಚಿಸಿದರು. " 
         + "ಅವುಗಳಲ್ಲಿ ಕಾದಂಬರಿಗಳು ೪೭. ತಮ್ಮ ೯೬ನೆಯ ವಯಸ್ಸಿನಲ್ಲೂ ಹಕ್ಕಿಗಳ " 
         + "ಕುರಿತು ಒಂದು ಪುಸ್ತಕವನ್ನು ಬರೆದಿದ್ದು, ಇದು ವಿಶ್ವ ದಾಖಲೆಗೆ " 
         + "ಅರ್ಹವಾಗಿರುವ ಒಂದು ಸಾಧನೆ ಎನ್ನಬಹುದು.", 

       "ಮಾಸ್ತಿ ವೆಂಕಟೇಶ ಅಯ್ಯಂಗಾರರು (ಜೂನ್ ೬ ೧೮೯೧ - ಜೂನ್ ೬ ೧೯೮೬) " 
         + "- ಕನ್ನಡದ ಒಬ್ಬ ಅಪ್ರತಿಮ ಲೇಖಕರು. ಕನ್ನಡ ಸಾಹಿತ್ಯ ಲೋಕದಲ್ಲಿ ಮಾಸ್ತಿ " 
         + "ಎಂದೇ ಖ್ಯಾತರಾಗಿರುವ ಈ ಸಾಹಿತಿ ಶ್ರೀನಿವಾಸ ಎಂಬ ಕಾವ್ಯನಾಮದಡಿಯಲ್ಲಿ ಬರೆಯುತ್ತಿದರು. " 
         + "೧೯೮೩ ರಲ್ಲಿ ಚಿಕವೀರ ರಾಜೇಂದ್ರ ಕಾದಂಬರಿಗಾಗಿ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿಯಿಂದ " 
         + "ಪುರಸ್ಕೃತಗೊಂಡ ಮಾಸ್ತಿಯವರು ಕನ್ನಡಕ್ಕೆ ನಾಲ್ಕನೆ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿಯನ್ನು ತಂದು ಕೊಟ್ಟರು. " 
         + "ಜೀವನ ಪರ್ಯಂತ ಕನ್ನಡ ಸೇವೆಯನ್ನು ಮಾಡಿದ ಮಾಸ್ತಿಯವರು ಜೂನ್ ೬ ೧೯೮೬ ರಂದು ನಿಧನ ಹೊಂದಿದರು.", 

       "ವಿನಾಯಕ ಕೃಷ್ಣ ಗೋಕಾಕ - ಕನ್ನಡಕ್ಕೆ ಐದನೆಯ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿಯನ್ನು ೧೯೯೧ರಲ್ಲಿ ತಂದುಕೊಟ್ಟ " 
         + "ವಿನಾಯಕ ಕೃಷ್ಣ ಗೋಕಾಕರು ಹಲವು ರೀತಿಯಲ್ಲಿ ಅದೃಷ್ಠವಂತರು. " 
         + "ಅವರು ಕನ್ನಡದ ಪ್ರತಿಭಾವಂತ ಕವಿ, ಪಂಡಿತರಾಗಿದ್ದರು. " 
         + "ಕನ್ನಡ-ಇಂಗ್ಲೀಷ್ ಭಾಷೆಗಳಲ್ಲಿ ಸಮಾನ ಪ್ರಭುತ್ವ ಪಡೆದಿದ್ದ ಅವರು " 
         + "ತಮ್ಮ ಜೀವಿತ ಕಾಲದಲ್ಲೇ ಒಬ್ಬ ಪ್ರತಿಭಾವಂತ ಸಾಹಿತಿಗೆ ದೊರಕಬೇಕಾದ " 
         + "ಎಲ್ಲ ಸಿದ್ಧಿ, ಪ್ರಸಿದ್ಧಿಗಳನ್ನು ಪಡೆದರು. " 
         + "ಗೋಕಾಕರು ಇದಕ್ಕೂ ಮೊದಲು ಭಾರತೀಯ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ ಆಯ್ಕೆ ಸಮಿತಿಯ ಅಧ್ಯಕ್ಷರಾಗಿದ್ದರು.", 

       "ಯು.ಆರ್.ಅನಂತಮೂರ್ತಿ - ಕನ್ನಡಕ್ಕೆ ಆರನೆಯ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ ೧೯೯೪ರಲ್ಲಿ ಬಂದಾಗ ಕನ್ನಡ ಸಾಹಿತ್ಯ " 
         + "ಲೋಕ ಮತ್ತೊಮ್ಮೆ ಇಡೀ ದೇಶದ ಗಮನ ಸೆಳೆಯಿತು. " 
         + "ಈ ಗೌರವ ಪಡೆದವರು ಡಾ| ಉಡುಪಿ ರಾಜಗೋಪಾಲಾಚಾರ್ಯ ಅನಂತಮೂರ್ತಿ. " 
         + "ತಮ್ಮ ಬಹುಚರ್ಚಿತ ಸಂಸ್ಕಾರ ಕಾದಂಬರಿಯಿಂದ ಭಾರತೀಯ ಸಾಹಿತ್ಯ " 
         + "ಮತ್ತು ಚಲನಚಿತ್ರ ರಂಗಗಳಲ್ಲಿ ಒಂದು ದೊಡ್ಡ ವಿವಾದವನ್ನೇ ಮಾಡಿದ ಅನಂತಮೂರ್ತಿ " 
         + "ಅವರು ಹುಟ್ಟಿದ್ದು ಶಿವಮೊಗ್ಗ ಜಿಲ್ಲೆಯ ತೀರ್ಥಹಳ್ಳಿ ತಾಲ್ಲೂಕಿನ ಮೇಳಿಗೆ ಹಳ್ಳಿಯಲ್ಲಿ. " 
         + "ಇಬ್ಬರು ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ ವಿಜೇತ (ಕುವೆಂಪು ಮತ್ತು ಅನಂತಮೂರ್ತಿ) ರನ್ನು " 
         + "ನೀಡಿದ ಹೆಗ್ಗಳಿಕೆ ತೀರ್ಥಹಳ್ಳಿ ತಾಲ್ಲೂಕಿನದು. " + "ಇವರು ಹುಟ್ಟಿದ್ದು ೧೯೩೨ರ ಡಿಸೆಂಬರ್ ೨೧ರಂದು. " 
         + "ತಂದೆ ಉಡುಪಿ ರಾಜಗೋಪಾಲಾಚಾರ್ಯ. ತಾಯಿ ಸತ್ಯಮ್ಮ (ಸತ್ಯಭಾಮ).", 

       "ಗಿರೀಶ್ ರಘುನಾಥ್ ಕಾರ್ನಾಡ್ (ಹುಟ್ಟು - ಮೇ ೧೯, ೧೯೩೮) " 
         + "ಕನ್ನಡಕ್ಕೆ ಏಳನೇ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ ತಂದುಕೊಟ್ಟ ಕನ್ನಡ " 
         + "ಸಾಹಿತ್ಯದ ನಾಟಕ ಕ್ಷೇತ್ರಕ್ಕೆ ಸಾಹಿತಿ. " 
         + "ಭಾರತದಲ್ಲೇ ನಾಟಕ ಸಾಹಿತ್ಯ ರಚನೆಗೆ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ " + "ಪಡೆದವರಲ್ಲಿ ಕಾರ್ನಾಡ್ ಮೊದಲಿಗರು. " 
         + "ಮತ್ತು ಇಬ್ಬರು ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ ಪುರಸ್ಕೃತರ " 
         + "ಕಾದಂಬರಿಗಳನ್ನು ಸಿನಿಮಾ ಮಾಡಿದ ಏಕೈಕ ಜ್ಞಾನಪೀಠ ಪ್ರಶಸ್ತಿ " 
         + "ಪುರಸ್ಕೃತರೆಂಬ ಗೌರವಕ್ಕೆ ಕಾರ್ನಾಡ್ ಪಾತ್ರರಾಗಿದ್ದಾರೆ.", 

       "ಡಾ. ಚಂದ್ರಶೇಖರ ಕಂಬಾರ (ಜನನ- ೨ ಜನವರಿ ೧೯೩೭)ರಂದು " 
         + "ಬೆಳಗಾವಿ ಜಿಲ್ಲೆ ಘೋಡಿಗೇರಿ ಗ್ರಾಮದ ಬಸವಣ್ಣೆಪ್ಪ ಕಂಬಾರ ಹಾಗೂ ಚೆನ್ನಮ್ಮ ದಂಪತಿಯ " 
         + "ಪುತ್ರನಾಗಿ ಜನಿಸಿದರು,ಬೆಳಗಾವಿ ಲಿಂಗರಾಜ ಕಾಲೇಜಿನಲ್ಲಿ ಬಿಎ, " 
         + "೧೯೬೨ರಲ್ಲಿ ಕರ್ನಾಟಕ ವಿವಿಯಿಂದ ಎಂ.ಎ ಪದವಿ,ಪಿ.ಎಚ್.ಡಿ.ಪದವಿ ಪಡೆದಿರುವ ಅವರು, " 
         + "ಬೆಂಗಳೂರು ವಿವಿ ಅಧ್ಯಪಕರು, ಕರ್ನಾಟಕ ಜಾನಪದ ಅಕಾಡೆಮಿಯ ಅಧ್ಯಕ್ಷ, " 
         + "ನವದೆಹಲಿಯ ರಾಷ್ಟ್ರೀಯ ನಾಟಕ ಶಾಲೆಯ ನಿರ್ದೇಶಕ,ಹಂಪಿ ಕನ್ನಡ ವಿವಿಯ " 
         + "ಮೊದಲ ಕುಲಪತಿಯಾಗಿ ಡಾ. ಚಂದ್ರಶೇಖರ ಕಂಬಾರ ಕಾರ್ಯನಿರ್ವಹಿಸಿದ್ದಾರೆ." }; 

     /** 
     * Our data, part 4. 
     */ 
     private boolean[] mExpanded = { false, false, false, false, false, false, false, false, false }; 
    } 

    private Context context; 
    private SQLiteDatabase database; 
    private DatabaseHelper dbHelper; 

    public MemoDbAdapter(Context context) { 
     this.context = context; 
    } 

    public MemoDbAdapter open() throws SQLException { 
     dbHelper = new DatabaseHelper(context); 
     database = dbHelper.getWritableDatabase(); 
     return this; 
    } 

    public void close() { 
     dbHelper.close(); 
    } 

    /** 
    * Create a new Memo. If the Memo is successfully created then return the new rowId for that note, 
    * otherwise return a -1 to indicate failure. 
    */ 
    public long createMemo(String note, String createdDate, String createdTime) { 
     open(); 
     ContentValues initialValues = createContentValues(note, createdDate, createdTime); 

     return database.insert(DATABASE_TABLE, null, initialValues); 
    } 

    public boolean updateMemo(long rowId, String note, String createdDate, String createdTime) { 
     ContentValues updateValues = createContentValues(note, createdDate, createdTime); 

     return database.update(DATABASE_TABLE, updateValues, KEY_ROWID + "=" + rowId, null) > 0; 
    } 

    public boolean deleteMemo(long rowId) { 
     return database.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0; 
    } 

    /** 
    * Return a Cursor over the list of all Memo in the database. 
    * 
    * @return Cursor over all notes 
    */ 
    public Cursor fetchAllMemos() { 
     return database.query(DATABASE_TABLE, new String[] { KEY_ROWID, KEY_NOTE, KEY_CREATED_DATE, 
       KEY_CREATED_TIME }, null, null, null, null, null); 
    } 

    /** * Return a Cursor positioned at the defined Memo */ 
    public Cursor fetchMemo(long rowId) throws SQLException { 
     Cursor mCursor = database.query(true, DATABASE_TABLE, new String[] { KEY_ROWID, KEY_NOTE, 
       KEY_CREATED_DATE, KEY_CREATED_TIME }, KEY_ROWID + "=" + rowId, null, null, null, null, null); 
     if (mCursor != null) { 
      mCursor.moveToFirst(); 
     } 
     return mCursor; 
    } 

    static ContentValues createContentValues(String note, String createdDate, String createdTime) { 
     ContentValues values = new ContentValues(); 
     values.put(KEY_NOTE, note); 
     values.put(KEY_CREATED_DATE, createdDate); 
     values.put(KEY_CREATED_TIME, createdTime); 
     return values; 
    } 
} 

回答

1

首先,你有什么理由为什么你先创建你的备忘录,然后用相同的值更新它? 总的来说,代码看起来不错,我会在“createMemo”中检查你的笔记的值是!= null。 最终,我会建议你的“updateMemo”方法更适当的使用。 SQLiteDatabase.update具有以下结构

update(String table, ContentValues values, String whereClause, String[] whereArgs) 

我们推荐传递whereArgs参数如下

return database.update(DATABASE_TABLE, updateValues, KEY_ROWID + "=?", new String[]{Long.toString(rowId)}) > 0; 
+0

我删除了memoAdapter.updateMemo(id,enteredText,date,time);从TextEditorActivity,也改变了这个参数updateMemo method.Yet什么都没有发生,当我点击“保存”按钮。 – Meg

+0

你必须调用onClick()。你确定你正在输入这个方法吗? –

+0

您的代码是否可访问? –

0

你永远不会实例化memoAdapter在你的TextEditorActivity中...

您有:

MemoDbAdapter memoAdapter=null; 

然后:

memoAdapter.open(); 

你需要在某个地方,在你的TextEditorActivity(你尝试之前,使用任何方法在类):

memoDbAdapter = new MemoDbAdapter(this); 
+0

没错,但还是有些不可思议,他没有得到任何的异常了这一点。 –

+0

好吧..我添加了memoAdapter = new MemoDbAdapter(this);在行memoAdapter.open();之前仍然是相同的结果! – Meg

相关问题