2011-12-15 12 views
0

私はAndroidチュートリアルのNoteadv2を見ています。すべてはちょうどハンキーなドリーではなく、一つの小さなものです。私の「確認ボタン」にはクリックリスナーはありません。なぜこのようなことが起こり、ソリューションのコードが効果的に同じであるのかは分かりますが、このチュートリアルでは、ノートを作成して削除する必要があると考えています。これまでは..いいえ。Android Noteadv2確認ボタンにクリックリスナーがありません

私たちはNotepadv2.onMenuItemSelected(...)でアクティビティを作成する際にコールスタックを開始します。それはこのようなものと言う:)

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

    return super.onMenuItemSelected(featureId, item); 
} 

そして、私たちの友人createNoteを(言う:

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

私たちのマニフェストに基づいて、私たちNoteEditクラスとてもうまく、ルート要求とCRUDs、だから、アンドロイド。今までのすべての素晴らしい。 NoteEdit.onCreate()の面白いビットは次のとおりです。

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

    setContentView(R.layout.note_edit); 
    setTitle(R.string.edit_note); 

    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) { 

最後の2行が重要です。この時点で、確認ボタンにクリックイベントリスナーが追加されます。決して完了しません。

アクティビティの現在のインテントからエクストラを取り除くと、それらのエクストラは存在しません。右の意味ですか?これらは新しいものではありませんでした。エクストラがnullなので、if文がなくなり、デバッグ中に編集画面に固執します。

デフォルト設定がありませんでしたか?私はステップをスキップしたか、愚かなバグをもう一度再生していますか?

読んでいただきありがとうございます。

答えて

0

わかりました。私はリスナーアタッチメントをifステートメント内で実行する必要があるときにifステートメント内で実行しました。

私はソリューションファイルを踏んで、この違いを発見しました。おっとっと!

関連する問題