Switch-Anweisung, die nur den letzten Fall zurückgibt

Verlegenheit der Switch-Anweisung: Die switch-Anweisung gibt nur den letzten Fall zurück, d. H. Fall 4, "# 0R0dfdf0FF". Wie kann ich das beheben, damit die Textansicht diejenige anzeigt, auf die im Dialogfeld geklickt wurde? Ich bin ein totaler Neuling, also würde ich mich sehr über Hilfe freuen.

public class NoteEdit extends Activity {
public EditText mTitleText;
public EditText mBodyText;
public EditText mColor;
private NotesDbAdapter mDbHelper;
private static final int DIALOG_ALERT = 10;
Long mRowId;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    mDbHelper = new NotesDbAdapter(this);
    mDbHelper.open();
    setContentView(R.layout.note_edit);
    setTitle(R.string.done);
    mTitleText = (EditText) findViewById(R.id.editTitle);
    mBodyText = (EditText) findViewById(R.id.editNote);
    mColor = (EditText) findViewById(R.id.editColor);
    mRowId = (savedInstanceState == null) ? null :
        (Long) savedInstanceState.getSerializable(NotesDbAdapter.KEY_ROWID);
    if (mRowId == null) {
        Bundle extras = getIntent().getExtras();
        mRowId = extras != null ? extras.getLong(NotesDbAdapter.KEY_ROWID)
                                : null;
    }
    populateFields();
    setupActionBar();
}
private void setupActionBar() {

    getActionBar().setDisplayHomeAsUpEnabled(true);

}
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        // This ID represents the Home or Up button. In the case of this
        // activity, the Up button is shown. Use NavUtils to allow users
        // to navigate up one level in the application structure. For
        // more details, see the Navigation pattern on Android Design:
        //
        // http://developer.android.com/design/patterns/navigation.html#up-vs-back
        //
        setResult(RESULT_OK);
        finish();


    }
    return super.onOptionsItemSelected(item);
}
private void populateFields() {
    if (mRowId != null) {
        Cursor note = mDbHelper.fetchNote(mRowId);
        startManagingCursor(note);
        mTitleText.setText(note.getString(
                    note.getColumnIndexOrThrow(NotesDbAdapter.KEY_TITLE)));
        mBodyText.setText(note.getString(
                note.getColumnIndexOrThrow(NotesDbAdapter.KEY_BODY)));
        mColor.setText(note.getString(
                note.getColumnIndexOrThrow(NotesDbAdapter.KEY_COLOR)));
    }
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    saveState();
    outState.putSerializable(NotesDbAdapter.KEY_ROWID, mRowId);
}
@Override
protected void onPause() {
    super.onPause();
    saveState();
}
@Override
protected void onResume() {
    super.onResume();
    populateFields();
}
private void saveState() {
    String title = mTitleText.getText().toString();
    String body = mBodyText.getText().toString();
    String color = mColor.getText().toString();

    if (mRowId == null) {
        long id = mDbHelper.createNote(title, body, color);
        if (id > 0) {
            mRowId = id;
        }
    } else {
        mDbHelper.updateNote(mRowId, title, body, color);
    }
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
    switch(item.getItemId()) {
    case R.id.add:
        showDialog(DIALOG_ALERT);
        return true;
    }

    return super.onMenuItemSelected(featureId, item);
}
@Override
protected Dialog onCreateDialog(int id) {
  switch (id) {
  case DIALOG_ALERT:
    // Create out AlterDialog
    android.app.AlertDialog.Builder builder = new AlertDialog.Builder(this);
    final String[] colors = {"Blue", "Green", "Yellow", "Red", "Purple"};
    builder.setTitle(R.string.body);
    builder.setItems(colors, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
        // The 'which' argument contains the index position
        // of the selected item
            switch (which){
            case 0:
                mColor.setText("#000000");
            case 1:
                mColor.setText("#0000FF");
            case 2:
                mColor.setText("#0R00FF");
            case 3:
                mColor.setText("#0R00dsdFF");
            case 4:
                mColor.setText("#0R0dfdf0FF");
            default:  
                break; 
            }
    } });
    AlertDialog dialog = builder.create();
    dialog.show();
  }
  return super.onCreateDialog(id);
}

}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage