메인엑티비티는 아니구요

 

소켓통신해서 들어오는 메시지를 핸들러 통해서 setTextview 해주려고 하는데 nullpointerexception오류가 납니다.

 

 

main-------------------------------

 

public class MainActivity extends Activity {
 private int port = 5001;
 private String host = "공인ip";
 private EditText edthost, edtport;
 ObjectInputStream instream;
 TextView aText;
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  Toast.makeText(MainActivity.this, "checkUpdate", Toast.LENGTH_LONG)
    .show();
  edthost = (EditText) findViewById(R.id.editText1);
  edtport = (EditText) findViewById(R.id.editText2);
  edthost.append(host);
  edtport.append(Integer.toString(port));
  findViewById(R.id.button1).setOnClickListener(mClick);
 
 }

 OnClickListener mClick = new Button.OnClickListener() {
  public void onClick(View v) {
   host = edthost.getText().toString();
   port = Integer.parseInt(edtport.getText().toString());
   SocketConn socketcon = new SocketConn();
   socketcon.setSocket(host,port);
  }
 };

}

---------------------------------

 

public class SocketConn extends Activity {
 
 private String host, message;
 private int port;
 TextView textview;

 protected void onCreate(Bundle savedInstanceState) {
  setContentView(R.layout.activity_main);
 }
 
 public void setSocket(String host, int port) {
  this.host = host;
  this.port = port;

  tdsocket.setDaemon(true);
  tdsocket.start();

 }

 
 Thread tdsocket = new Thread() {
  public void run() {
   try {

    Socket socket = new Socket(host, port);
    ObjectOutputStream outstream = new ObjectOutputStream(
      socket.getOutputStream());
    outstream.writeObject("Hello AndroidTown on Android");
    outstream.flush();

    ObjectInputStream instream = new ObjectInputStream(
      socket.getInputStream());
    message = (String) instream.readObject();
    update.start();
    
   } catch (UnknownHostException e) {
    e.printStackTrace();
   } catch (IOException e) {
    e.printStackTrace();
   } catch (ClassNotFoundException e) {
    e.printStackTrace();
   }
  };
 };

 Thread update = new Thread() {
  Handler mHandler = new Handler();
  public void run() {

   mHandler.post(new Runnable() {
    public void run() {
     textview = (TextView)findViewById(R.id.messageView);
     textview.setText(message);
    }
   });

  };
 };

}