2013-01-10 62 views
0

我有一個類(在Android中),名爲TCPClient,它從服務器接收字符串。我需要將此發送到類Showmsg中的功能printmsg,該功能與TCPClient位於相同的包中。
以下代碼不起作用。Android中的類間通信

public class TCPClient implements Runnable { 
    .. 
    .. 
    public void run() { 
     .. 
     Showmsg obj = new Showmsg(); 
     obj.printmsg("Hello"); 
    } 
} 

Showmsg類:

public void printmsg(String str) {  
    Toast(. .);  
} 
+1

你會得到什麼錯誤?顯示logcat ... – Matthieu

+0

printmsg可能被調用,但你的吐司不起作用。但這有另一個原因...... – RvdK

回答

1

我沒有在給定的代碼看到的是.start(),因爲TCPClientRunnable。另外我不知道你的toast(str)方法如何工作,但不要忘記.show()。這段代碼應該運行。

public class TCPClient implements Runnable { 
    public void run() { 
     Showmsg obj = new Showmsg(); 
     obj.printmsg("Hello"); 
    } 
} 

public class MyActivity { 
    TCPClient tcp; 

    public void onCreate(Bundle b) { 
     super.onCreate(b); 
     tcp = new TCPClient(); 
    } 

    public void onResume() { 
     super.onResume(); 
     tcp.start(); 
    } 

} 

public class Showmsg { 
    public void printmsg(String str) {  
     toast(str); 
    } 

    private void toast(String str) { 
     Log.d(TAG, str); 
     Toast.makeText(context, str, Toast.LENGTH_SHORT).show(); 
     System.out.println(str); 
    } 
}