Java OnClick方法杀死android应用程序

Java OnClick方法杀死android应用程序,java,android,eclipse,logcat,Java,Android,Eclipse,Logcat,我有一个简单的消息传递应用程序,它获取editText框的文本并将其发送到服务器。我所要做的就是当文本被发送到服务器时,我希望editText框复位 以下是我的代码,它可以工作,但不会重置编辑文本框: public void sendMessage(View v) { Editable messagetext; messagetext = message.getText(); final SharedPreferences prefs = Pr

我有一个简单的消息传递应用程序,它获取editText框的文本并将其发送到服务器。我所要做的就是当文本被发送到服务器时,我希望editText框复位

以下是我的代码,它可以工作,但不会重置编辑文本框:

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());

    }
如果我再添加一行代码,为了重置框,我的应用程序将终止:

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)是:

全局变量列表:

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

这些事情的顺序不应该颠倒吗?在调用
getText
之前,您应该先说出“消息”是什么

你能用红色文本发布整个logcat错误日志吗?在我的问题中更新了。“全局变量列表”我同意Tim的观点,看起来您试图在定义消息之前访问它。尝试放置
message=(EditText)findviewbyd(R.id.inptbox)onCreate()
…中的code>,除非将“message”定义为实例变量,这有点奇怪。噢,天哪。我怎么会忽视这一点?那正是它的本来面目。我想知道当重置代码没有实现时,为什么它能正常工作。
String username = "";
    Functions function;
    EditText message;
    String response = "";
    String where = "";
    String inboxx;
...
messagetext = message.getText();                 
...
message = (EditText) findViewById(R.id.inptbox);  
...