2014-02-11 54 views
0
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); 

      } 
     }); 
    } 

基本上它的一个聊天应用程序。我在启动活动中创建了连接,在此活动中,我从启动活动获取连接并将数据发送给用户。但它不起作用。请指导我。不发送消息使用XMPP

+0

“不起作用”是什么意思? –

+0

我无法发送消息 –

+0

@selvin它不显示任何exception.I顺利拿到了连接,但我不知道问题出在哪里。 –

回答

0

把这个代码的onclick方法 字符串文本内= say.getText()的toString();

+0

只是一个小错误。 –

0

发送消息之前,你必须与其他用户要发送消息的人读到这里创建聊天:http://www.igniterealtime.org/builds/smack/docs/latest/documentation/messaging.html

也Asyntask发送短信没有主界面,否则您的应用程序将获得崩溃。 。

+0

我添加了该用户。我从另一个活动获得了用户名。 username = i.getStringExtra(“username”); –

+0

你有没有实现数据包监听器? –

+0

是的,而且我通过在控制台上打印它们来确认连接和用户名的值。它工作正常。但仍然有发送问题。 –