public class MainActivity extends Activity {
Button reply;
EditText say;
String username;
private ListView listView;
XMPPConnection connection=HomeScreen.connection;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chatbos_listview);
listView = (ListView) findViewById(R.id.listview);
Intent i=getIntent();
username=i.getStringExtra("username");
say=(EditText)findViewById(R.id.reply);
reply=(Button)findViewById(R.id.replybtn);
reply.setOnClickListener(new OnClickListener() {
String text = say.getText().toString();
@Override
public void onClick(View view) {
Message msg = new Message(username, Message.Type.chat);
msg.setBody(text);
if (connection != null) {
connection.sendPacket(msg);
//messages.add(text);
//setListAdapter();
}
System.out.println(connection);
}
});
}
基本上是一款聊天应用。我在启动活动中创建了连接,在此活动中,我从启动活动获取连接并将数据发送给用户。但它不起作用。请指导我。
答案 0 :(得分:0)
在发送消息之前,您必须与要向其发送消息的其他用户创建聊天:http://www.igniterealtime.org/builds/smack/docs/latest/documentation/messaging.html
也会在Asyntask中发送消息,而不是在主UI上,否则您的应用程序将崩溃。
答案 1 :(得分:0)
将此代码放在onclick方法中 String text = say.getText()。toString();