2016-09-15 5 views
0

私は奇妙な動作(私の意見では)を発見しました。アンドロイドの奇妙な動作onclickデバッグモード真の偽

簡単なクリック操作でアクティビティを作成しましたonLogon(View view) (onclickのリスナーがありません!)と私のlayout.xmlで、私はボタンを追加し、私のAndroid携帯電話(キットカット)にデバッグモードでこれを実行するandroid:onClick="onLogon"

を使用は問題ありませんでした。 しかし、デバッグモードなしでデプロイすると、エラーが発生しました。

onclickリスナーを使用してonLogon(表示ビュー)をこのように変更する必要がありました。

Button mSignInButton = (Button) findViewById(R.id.btnLogon); 
     mSignInButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       attemptLogin(); 
      } 
     }); 

クリックイベントを処理するこの最後の方法は、デバッグ、デプロイ、およびプレイストアを介して展開するときに機能するようです。

私はなぜonclickハンドラが好ましいのか理解しています。私はデバッグと非デバッグの動作の違いを理解していません。

多分誰かがこれを説明できますか?

+1

「onLogon()」のコードを共有してください。 – 0X0nosugar

答えて

0

これをチェックしてください。Button click eventsあなたは2回のクリックイベントを提供しています。

+0

申し訳ありませんが、あなたは誤解していると思います。私がonclickhandlerを使用したとき、私はandroid:onclickを削除しました。私は直接アンドロイドを見つけた後:onClickは動作しませんでした私はその1つを削除し、アンドロイドの代わりにonclicklistenerを使用:onclick – fdepijper