Java OnClick方法杀死android应用程序
我有一个简单的消息传递应用程序,它获取editText框的文本并将其发送到服务器。我所要做的就是当文本被发送到服务器时,我希望editText框复位 以下是我的代码,它可以工作,但不会重置编辑文本框: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
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);
...