2011-09-21 74 views
1

我正在嘗試android教程notepadv2。我做了所有的教程說(只使用他們給我的代碼),我得到的錯誤遍佈各地。幫幫我!!!!Android notepadv2教程...即時通訊錯誤

這是/ src目錄我NoteEdit.java文件

package com.android.demo.notepad2; 

    import android.app.Activity; 
    import android.os.Bundle; 

    private EditText mTitleText; 
    private EditText mBodyText; 
    private Long mRowId; 

    @Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.note_edit); 

mTitleText = (EditText) findViewById(R.id.title); 
mBodyText = (EditText) findViewById(R.id.body); 

Button confirmButton = (Button) findViewById(R.id.confirm); 

mRowId = null; 
Bundle extras = getIntent().getExtras(); 
if (extras != null) { 
    String title = extras.getString(NotesDbAdapter.KEY_TITLE); 
    String body = extras.getString(NotesDbAdapter.KEY_BODY); 
    mRowId = extras.getLong(NotesDbAdapter.KEY_ROWID); 

    if (title != null) { 
     mTitleText.setText(title); 
    } 
    if (body != null) { 
     mBodyText.setText(body); 
    } 
} 

confirmButton.setOnClickListener(new View.OnClickListener() { 

    public void onClick(View view) { 
     Bundle bundle = new Bundle(); 

     bundle.putString(NotesDbAdapter.KEY_TITLE, mTitleText.getText().toString()); 
     bundle.putString(NotesDbAdapter.KEY_BODY, mBodyText.getText().toString()); 
     if (mRowId != null) { 
      bundle.putLong(NotesDbAdapter.KEY_ROWID, mRowId); 
     } 

     Intent mIntent = new Intent(); 
     mIntent.putExtras(bundle); 
     setResult(RESULT_OK, mIntent); 
     finish(); 
    } 
}); 

}

這是/ src目錄我Notepadv2.java文件

 package com.android.demo.notepad2; 

import android.app.ListActivity; 
import android.content.Intent; 
import android.database.Cursor; 
import android.os.Bundle; 
import android.view.ContextMenu; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ContextMenu.ContextMenuInfo; 
import android.widget.ListView; 
import android.widget.SimpleCursorAdapter; 

public class Notepadv2 extends ListActivity { 
private static final int ACTIVITY_CREATE=0; 
private static final int ACTIVITY_EDIT=1; 

private static final int INSERT_ID = Menu.FIRST; 
private static final int DELETE_ID = Menu.FIRST + 1; 

private NotesDbAdapter mDbHelper; 
private Cursor mNotesCursor; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.notes_list); 
    mDbHelper = new NotesDbAdapter(this); 
    mDbHelper.open(); 
    fillData(); 
    registerForContextMenu(getListView()); 
} 

private void fillData() { 
    // Get all of the rows from the database and create the item list 
    mNotesCursor = mDbHelper.fetchAllNotes(); 
    startManagingCursor(mNotesCursor); 

    // Create an array to specify the fields we want to display in the list (only TITLE) 
    String[] from = new String[]{NotesDbAdapter.KEY_TITLE}; 

    // and an array of the fields we want to bind those fields to (in this case just text1) 
    int[] to = new int[]{R.id.text1}; 

    // Now create a simple cursor adapter and set it to display 
    SimpleCursorAdapter notes = 
      new SimpleCursorAdapter(this, R.layout.notes_row, mNotesCursor, from, to); 
    setListAdapter(notes); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    menu.add(0, INSERT_ID,0, R.string.menu_insert); 
    return true; 
} 

@Override 
public boolean onMenuItemSelected(int featureId, MenuItem item) { 
    switch(item.getItemId()) { 
    case INSERT_ID: 
     createNote(); 
     return true; 
    } 

    return super.onMenuItemSelected(featureId, item); 
} 

@Override 
public void onCreateContextMenu(Menu menu, View v, 
     ContextMenu.ContextMenuInfo menuInfo) { 
    super.onCreateContextMenu(menu, v, menuInfo); 
    menu.add(0, DELETE_ID, 0, R.string.menu_delete); 
} 

@Override 
public boolean onContextItemSelected(MenuItem item) { 
    switch(item.getItemId()) { 
    case DELETE_ID: 
     AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 
     mDbHelper.deleteNote(info.id); 
     fillData(); 
     return true; 
    } 
    return super.onContextItemSelected(item); 
} 

private void createNote() { 
    Intent i = new Intent(this, NoteEdit.class); 
    startActivityForResult(i, ACTIVITY_CREATE); 

} 

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 


    super.onListItemClick(l, v, position, id); 
    Cursor c = mNotesCursor; 
    c.moveToPosition(position); 
    Intent i = new Intent(this, NoteEdit.class); 
    i.putExtra(NotesDbAdapter.KEY_ROWID, id); 
    i.putExtra(NotesDbAdapter.KEY_TITLE, c.getString(
      c.getColumnIndexOrThrow(NotesDbAdapter.KEY_TITLE))); 
    i.putExtra(NotesDbAdapter.KEY_BODY, c.getString(
      c.getColumnIndexOrThrow(NotesDbAdapter.KEY_BODY))); 
    startActivityForResult(i, ACTIVITY_EDIT); 

} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    super.onActivityResult(requestCode, resultCode, intent); 

    super.onActivityResult(requestCode, resultCode, intent); 
    Bundle extras = intent.getExtras(); 

    switch(requestCode) { 
    case ACTIVITY_CREATE: 
     String title = extras.getString(NotesDbAdapter.KEY_TITLE); 
     String body = extras.getString(NotesDbAdapter.KEY_BODY); 
     mDbHelper.createNote(title, body); 
     fillData(); 
     break; 
    case ACTIVITY_EDIT: 
     Long mRowId = extras.getLong(NotesDbAdapter.KEY_ROWID); 
     if (mRowId != null) { 
      String editTitle = extras.getString(NotesDbAdapter.KEY_TITLE); 
      String editBody = extras.getString(NotesDbAdapter.KEY_BODY); 
      mDbHelper.updateNote(mRowId, editTitle, editBody); 
     } 
     fillData(); 
     break; 
    } 

} 

}

這些都是錯誤來自的兩個文件

+2

嗨。請發佈實際錯誤,否則我們甚至不知道從哪裏開始。 –

+0

你應該發佈錯誤。他們是'RuntimeException'還是他們編譯時間問題? –

回答

2

NoteEdit不能編譯,因爲它沒有類的聲明...

package com.android.demo.notepad2; 

    import android.app.Activity; 
    import android.os.Bundle; 

//missing this line: 
//public class NoteEdit extends Activity { 

    private EditText mTitleText; 
    private EditText mBodyText; 
    private Long mRowId; 

    @Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.note_edit); 

沒有一類的聲明,解析器會吐錯誤所有的地方,因爲什麼都不會意義了。

我不確定Notepadv2是否有任何錯誤只是看着它。