2012-04-24 4 views
0

私はeditTextボックスのテキストを取得し、それをサーバーに送信する簡単なメッセージングアプリケーションを持っています。私がしたいのは、テキストがサーバーに送られるとき、editTextボックスをリセットしたいときだけです。OnClickメソッドはアンドロイドアプリケーションを殺します

:私のアプリケーションが死ぬボックスをリセットするために、私はコードの1行を追加する場合

public void sendMessage(View v) { 
     Editable messagetext; 

     messagetext = message.getText(); 

     final SharedPreferences prefs = PreferenceManager 
       .getDefaultSharedPreferences(getBaseContext()); 

     username = prefs.getString("username", "null"); 

     where = prefs.getString("chat", "null"); 
     message = (EditText) findViewById(R.id.inptbox); 

     function = new Functions(); 

     response = function 
       .sendMessage(username, where, messagetext.toString()); 

    } 

:ここ

は、それがのEditTextボックスをリセットしませんが、働く私のコードです
public void sendMessage(View v) { 
    Editable messagetext; 

    messagetext = message.getText(); 
     message.setText(""); 
    final SharedPreferences prefs = PreferenceManager 
      .getDefaultSharedPreferences(getBaseContext()); 

    username = prefs.getString("username", "null"); 

    where = prefs.getString("chat", "null"); 
    message = (EditText) findViewById(R.id.inptbox); 

    function = new Functions(); 

    response = function 
      .sendMessage(username, where, messagetext.toString()); 

} 

私は(私と一緒にクマ、私はその良いlogcatないよ)を得るエラーは次のとおりです。グローバル変数の

E/AndroidRuntime(7207): java.lang.IllegalStateException: Could not execute method of the activity 

リスト:

String username = ""; 
    Functions function; 
    EditText message; 
    String response = ""; 
    String where = ""; 
    String inboxx; 
+0

logcatエラーログ全体を赤いテキストで投稿できますか? –

+0

「メッセージ」はどのようなタイプですか? –

+0

私の質問で更新されました。 "グローバル変数のリスト" – EGHDK

答えて

2
... 
messagetext = message.getText();     
... 
message = (EditText) findViewById(R.id.inptbox); 
... 

これらの順序を逆にすることではないでしょうか? getTextを呼び出す前に、「メッセージ」が何であるかを言う必要があります。

+0

... 'message'がインスタンス変数として定義されていない限り、それは奇妙なものです。 –

+0

ああ私。どのように私はそれを見落としましたか?それはまさにそれだった。私はリセットコードが実装されていないときになぜそれが正しく動作していたのだろうか。 – EGHDK

関連する問題