在我的android项目中,我使用两个简单的按钮(button1和button2)通过我的android(使用WiFi)成功地将字符串/文本发送到计算机。但我想使用“仅单个图像按钮(作为切换)”而不是我的两个简单按钮(按钮 1 和按钮 2)。这是我的代码。
   import java.io.IOException;
   import java.io.PrintWriter;
   import java.net.Socket;
   import java.net.UnknownHostException;
   import android.os.Bundle;
   import android.app.Activity;
   import android.view.View;
   import android.view.View.OnClickListener;
   import android.widget.Button;
   import android.widget.EditText;
   public class MainActivity extends Activity {
  private Socket client;
  private PrintWriter printwriter;
  private EditText etMsg;       //, etIP, etPort;
  private Button button;
  private Button button1;
  private String messsage;
  int port = 0; //
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
   //   etIP = (EditText) findViewById(R.id.editText1);
   //  etPort = (EditText) findViewById(R.id.editText2);
    etMsg = (EditText) findViewById(R.id.editText3);
    button = (Button) findViewById(R.id.button1);
    button1 = (Button) findViewById(R.id.button2);
    button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            messsage = "TV ON" ; //etMsg.getText().toString();
            etMsg.setText("");
           // port = Integer.parseInt(etPort.getText().toString());
            new Thread(new Runnable() 
            {
                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    try 
                    {
                      //  client = new Socket(etIP.getText().toString(), port);
                        client = new Socket("1.2.3.4",2000);
                        printwriter = new     
                        PrintWriter(client.getOutputStream(),true);
                        printwriter.write(messsage);
                        printwriter.flush();
                        printwriter.close();
                        client.close();
                    }
                    catch (UnknownHostException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }       
                }
            }).start();
        }
      });
      button1.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
          // TODO Auto-generated method stub
        messsage = "TV OFF" ; //etMsg.getText().toString();
        etMsg.setText("");
       // port = Integer.parseInt(etPort.getText().toString());
        new Thread(new Runnable() 
        {
            @Override
            public void run() {
                // TODO Auto-generated method stub
                try 
                {
                  //  client = new Socket(etIP.getText().toString(), port);
                    client = new Socket("1.2.3.4",2000);
                    printwriter = new PrintWriter(client.getOutputStream(),true);
                    printwriter.write(messsage);
                    printwriter.flush();
                    printwriter.close();
                    client.close();
                }
                catch (UnknownHostException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }       
            }
        }).start();
    }
    });
    }
    }